{
"cells": [
{
"cell_type": "markdown",
"id": "2ec566f5-ff28-43b8-b9d5-287a906ff9e6",
"metadata": {},
"source": [
"# Movie_Genre_Classification"
]
},
{
"cell_type": "markdown",
"id": "ff2351d9-7d15-4c4c-bf62-d4b300cfcadc",
"metadata": {},
"source": [
"Create a machine learning model that can predict the genre of a movie based on its plot summary or other textual information. You can use techniques like TF-IDF or word embeddings with classifiers such as Naive Bayes, Logistic Regression, or Support Vector Machines."
]
},
{
"cell_type": "markdown",
"id": "7470562b-4b03-4cae-9ff1-6da8eabbb032",
"metadata": {},
"source": [
"### Import necessary files"
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "c75d012f-5f54-4d71-857b-d29ba4b77c90",
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import pandas as pd\n",
"import matplotlib.pyplot as plt\n",
"import seaborn as sns\n",
"import nltk\n",
"import string\n",
"import re\n",
"%matplotlib inline\n",
"\n",
"from nltk.corpus import stopwords\n",
"from nltk.stem import LancasterStemmer\n",
"from sklearn.feature_extraction.text import TfidfVectorizer\n",
"\n",
"from sklearn.model_selection import train_test_split\n",
"from sklearn.svm import SVC\n",
"from sklearn.naive_bayes import MultinomialNB\n",
"from sklearn.linear_model import LogisticRegression"
]
},
{
"cell_type": "markdown",
"id": "e277bcf2-81d5-41f3-a43c-7dbbffba78fe",
"metadata": {},
"source": [
"### Load Train Dataset"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "68f24b61-c5bf-4d72-b45e-1ec55e58632c",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"C:\\Users\\kiran\\AppData\\Local\\Temp\\ipykernel_12232\\595940393.py:2: ParserWarning: Falling back to the 'python' engine because the 'c' engine does not support regex separators (separators > 1 char and different from '\\s+' are interpreted as regex); you can avoid this warning by specifying engine='python'.\n",
" train_data = pd.read_csv(train_path, sep = ':::', names = ['Title', 'Genre', 'Description'])\n"
]
},
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" Title \n",
" Genre \n",
" Description \n",
" \n",
" \n",
" \n",
" \n",
" 1 \n",
" Oscar et la dame rose (2009) \n",
" drama \n",
" Listening in to a conversation between his do... \n",
" \n",
" \n",
" 2 \n",
" Cupid (1997) \n",
" thriller \n",
" A brother and sister with a past incestuous r... \n",
" \n",
" \n",
" 3 \n",
" Young, Wild and Wonderful (1980) \n",
" adult \n",
" As the bus empties the students for their fie... \n",
" \n",
" \n",
" 4 \n",
" The Secret Sin (1915) \n",
" drama \n",
" To help their unemployed father make ends mee... \n",
" \n",
" \n",
" 5 \n",
" The Unrecovered (2007) \n",
" drama \n",
" The film's title refers not only to the un-re... \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Title Genre \\\n",
"1 Oscar et la dame rose (2009) drama \n",
"2 Cupid (1997) thriller \n",
"3 Young, Wild and Wonderful (1980) adult \n",
"4 The Secret Sin (1915) drama \n",
"5 The Unrecovered (2007) drama \n",
"\n",
" Description \n",
"1 Listening in to a conversation between his do... \n",
"2 A brother and sister with a past incestuous r... \n",
"3 As the bus empties the students for their fie... \n",
"4 To help their unemployed father make ends mee... \n",
"5 The film's title refers not only to the un-re... "
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"train_path = ('Downloads/archive/Genre Classification Dataset/train_data.txt')\n",
"train_data = pd.read_csv(train_path, sep = ':::', names = ['Title', 'Genre', 'Description'])\n",
"train_data.head()"
]
},
{
"cell_type": "markdown",
"id": "e00f21d2-820b-41cd-9794-7ec015dab8fd",
"metadata": {},
"source": [
"### Load Test Dataset"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "b2f19cb0-f4d8-4faf-9ffc-892aaedcb9d1",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"C:\\Users\\kiran\\AppData\\Local\\Temp\\ipykernel_12232\\1819879311.py:2: ParserWarning: Falling back to the 'python' engine because the 'c' engine does not support regex separators (separators > 1 char and different from '\\s+' are interpreted as regex); you can avoid this warning by specifying engine='python'.\n",
" test_data = pd.read_csv(test_path, sep = ':::', names = ['id', 'Title', 'Description'])\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" id \n",
" Title \n",
" Description \n",
" \n",
" \n",
" \n",
" \n",
" 0 \n",
" 1 \n",
" Edgar's Lunch (1998) \n",
" L.R. Brane loves his life - his car, his apar... \n",
" \n",
" \n",
" 1 \n",
" 2 \n",
" La guerra de papá (1977) \n",
" Spain, March 1964: Quico is a very naughty ch... \n",
" \n",
" \n",
" 2 \n",
" 3 \n",
" Off the Beaten Track (2010) \n",
" One year in the life of Albin and his family ... \n",
" \n",
" \n",
" 3 \n",
" 4 \n",
" Meu Amigo Hindu (2015) \n",
" His father has died, he hasn't spoken with hi... \n",
" \n",
" \n",
" 4 \n",
" 5 \n",
" Er nu zhai (1955) \n",
" Before he was known internationally as a mart... \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
" id Title \\\n",
"0 1 Edgar's Lunch (1998) \n",
"1 2 La guerra de papá (1977) \n",
"2 3 Off the Beaten Track (2010) \n",
"3 4 Meu Amigo Hindu (2015) \n",
"4 5 Er nu zhai (1955) \n",
"\n",
" Description \n",
"0 L.R. Brane loves his life - his car, his apar... \n",
"1 Spain, March 1964: Quico is a very naughty ch... \n",
"2 One year in the life of Albin and his family ... \n",
"3 His father has died, he hasn't spoken with hi... \n",
"4 Before he was known internationally as a mart... "
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"test_path = ('Downloads/archive/Genre Classification Dataset/test_data.txt')\n",
"test_data = pd.read_csv(test_path, sep = ':::', names = ['id', 'Title', 'Description'])\n",
"test_data.head()"
]
},
{
"cell_type": "markdown",
"id": "8d81a971-2358-4dfe-8f05-212028bde730",
"metadata": {},
"source": [
"### Load Target Dataset"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "8b33a722-ceb7-42cb-ae77-5f89816093eb",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"C:\\Users\\kiran\\AppData\\Local\\Temp\\ipykernel_12232\\320415847.py:2: ParserWarning: Falling back to the 'python' engine because the 'c' engine does not support regex separators (separators > 1 char and different from '\\s+' are interpreted as regex); you can avoid this warning by specifying engine='python'.\n",
" test_soln_data = pd.read_csv(test_soln_path, sep = ':::', names = ['Title', 'Genre', 'Description'])\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" Target_Genre \n",
" \n",
" \n",
" \n",
" \n",
" 1 \n",
" thriller \n",
" \n",
" \n",
" 2 \n",
" comedy \n",
" \n",
" \n",
" 3 \n",
" documentary \n",
" \n",
" \n",
" 4 \n",
" drama \n",
" \n",
" \n",
" 5 \n",
" drama \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Target_Genre\n",
"1 thriller \n",
"2 comedy \n",
"3 documentary \n",
"4 drama \n",
"5 drama "
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"test_soln_path = ('Downloads/archive/Genre Classification Dataset/test_data_solution.txt')\n",
"test_soln_data = pd.read_csv(test_soln_path, sep = ':::', names = ['Title', 'Genre', 'Description'])\n",
"test_soln_data.drop(test_soln_data.columns[[0,2]], axis = 1, inplace = True)\n",
"test_soln_data.rename(columns = {'Genre':'Target_Genre'}, inplace = True)\n",
"test_soln_data.head()"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "e4742eb5-1b02-4ad0-8e13-e22b5a8c7909",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" Title \n",
" Genre \n",
" Description \n",
" \n",
" \n",
" \n",
" \n",
" count \n",
" 54214 \n",
" 54214 \n",
" 54214 \n",
" \n",
" \n",
" unique \n",
" 54214 \n",
" 27 \n",
" 54086 \n",
" \n",
" \n",
" top \n",
" Oscar et la dame rose (2009) \n",
" drama \n",
" Grammy - music award of the American academy ... \n",
" \n",
" \n",
" freq \n",
" 1 \n",
" 13613 \n",
" 12 \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Title Genre \\\n",
"count 54214 54214 \n",
"unique 54214 27 \n",
"top Oscar et la dame rose (2009) drama \n",
"freq 1 13613 \n",
"\n",
" Description \n",
"count 54214 \n",
"unique 54086 \n",
"top Grammy - music award of the American academy ... \n",
"freq 12 "
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"train_data.describe()"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "52568b32-6358-450f-bfd7-bbcd17e097bb",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"Index: 54214 entries, 1 to 54214\n",
"Data columns (total 3 columns):\n",
" # Column Non-Null Count Dtype \n",
"--- ------ -------------- ----- \n",
" 0 Title 54214 non-null object\n",
" 1 Genre 54214 non-null object\n",
" 2 Description 54214 non-null object\n",
"dtypes: object(3)\n",
"memory usage: 1.7+ MB\n"
]
}
],
"source": [
"train_data.info()"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "d3334ee4-9ebe-4559-868f-9a473a5a5e62",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" id \n",
" \n",
" \n",
" \n",
" \n",
" count \n",
" 54200.000000 \n",
" \n",
" \n",
" mean \n",
" 27100.500000 \n",
" \n",
" \n",
" std \n",
" 15646.336632 \n",
" \n",
" \n",
" min \n",
" 1.000000 \n",
" \n",
" \n",
" 25% \n",
" 13550.750000 \n",
" \n",
" \n",
" 50% \n",
" 27100.500000 \n",
" \n",
" \n",
" 75% \n",
" 40650.250000 \n",
" \n",
" \n",
" max \n",
" 54200.000000 \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
" id\n",
"count 54200.000000\n",
"mean 27100.500000\n",
"std 15646.336632\n",
"min 1.000000\n",
"25% 13550.750000\n",
"50% 27100.500000\n",
"75% 40650.250000\n",
"max 54200.000000"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"test_data.describe()"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "97f1c149-33ee-4f3c-b138-53debccf05e5",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"RangeIndex: 54200 entries, 0 to 54199\n",
"Data columns (total 3 columns):\n",
" # Column Non-Null Count Dtype \n",
"--- ------ -------------- ----- \n",
" 0 id 54200 non-null int64 \n",
" 1 Title 54200 non-null object\n",
" 2 Description 54200 non-null object\n",
"dtypes: int64(1), object(2)\n",
"memory usage: 1.2+ MB\n"
]
}
],
"source": [
"test_data.info()"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "173310ae-b63a-4598-8577-590723d79042",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Title 0\n",
"Genre 0\n",
"Description 0\n",
"dtype: int64"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"train_data.isnull().sum()"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "b12040c8-6b65-4106-aee8-ba0143a0407d",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Genre\n",
" drama 13613\n",
" documentary 13096\n",
" comedy 7447\n",
" short 5073\n",
" horror 2204\n",
" thriller 1591\n",
" action 1315\n",
" western 1032\n",
" reality-tv 884\n",
" family 784\n",
" adventure 775\n",
" music 731\n",
" romance 672\n",
" sci-fi 647\n",
" adult 590\n",
" crime 505\n",
" animation 498\n",
" sport 432\n",
" talk-show 391\n",
" fantasy 323\n",
" mystery 319\n",
" musical 277\n",
" biography 265\n",
" history 243\n",
" game-show 194\n",
" news 181\n",
" war 132\n",
"Name: count, dtype: int64"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"counts = train_data.Genre.value_counts()\n",
"counts"
]
},
{
"cell_type": "markdown",
"id": "2841dea6-55c1-4ff0-9b60-9523e87b8222",
"metadata": {},
"source": [
"#### Ploting the counts of Genres in the training dataset"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "1ac0dd26-879b-460a-9df0-5c29e6dbdab6",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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huqnn37SSy+9JIPBIIPBIEm6cOGCevXqJW9vbzk7OysoKEgrVqywunZoaKiGDRuml19+WRUrVlS7du00cOBAPfnkk1bt/vjjD3l5eeWpHQAAAABs6a4Ko3v37tXAgQP1wgsvKDExUa1bt9Zrr71m1ebTTz/VyJEjNXr0aB05ckRDhgzRgAEDtH37dklSTk6OHn/8ce3Zs0cffPCBvv/+e82YMUNly5YtUC3btm3Tr7/+qq+++kpvvvmmJk+erCeffFIeHh7au3evhg4dqqFDhyo5OVmSlJ6ertatW8tkMumrr77Srl27ZDKZ1L59e6tZyu3bt+vEiRPavn27lixZori4OMXFxUmS1qxZI29vb02dOlUpKSlKSUmRJF27dk2NGjXS+vXrdeTIEQ0ePFj9+vXT3r17rWpesmSJ7OzstHv3bi1atEiDBg3Sxo0bLeNI0oYNG3T58mV17949X88hIyNDZrPZagMAAACAojLk5ubmlnYR1/Xu3VsXL17UF198YTnWs2dPbdy4Ub///rskqVmzZqpbt67effddS5vu3bvrypUr+vzzz7V582Y9/vjjSkpKkr+/f55rTJ48WWvXrlViYqLl2Ny5czV37lzLLGZERITi4+N18uRJlSnzZ15/8MEHVblyZX311VeSpOzsbLm5uem9995Tz5499f7772vWrFlKSkqyzGhmZmbK3d1da9eu1T/+8Q/LuCdOnLCE4+7du6tMmTJauXKlpD/fGR01apRGjRp122f1xBNPKDAwULNnz5b058xoWlqavv32W6t2devW1TPPPKOxY8dKkjp37ix3d3fFxsbedvwbn9eUKVPyHP/xzddVzskxX2MAAAAA96LKQ18q7RJKldlslpubm9LS0uTq6lrg/nfVzGhSUpKaNGlideyv+0lJSWrWrJnVsWbNmikpKUmSlJiYKG9v75sG0YKoW7euJYhKkqenp4KCgiz7ZcuWVYUKFZSamipJ2r9/v3788UeVK1dOJpNJJpNJ5cuX17Vr13TixAmrcW+cpa1SpYpljFvJzs7W9OnTFRwcrAoVKshkMmnz5s06c+aMVbuQkJA8fQcNGmQJnqmpqfr88881cODAfD+HqKgopaWlWbbrM8EAAAAAUBR2pV3AjfI7SXt95vHGftePOTk53bZvmTJl8lzn+jubN7K3t89zzZsdy8nJkfTn8uBGjRpp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",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure(figsize = (10,8))\n",
"sns.countplot(data=train_data, y='Genre', order=counts.index)"
]
},
{
"cell_type": "markdown",
"id": "54321b93-991d-494f-a094-bf61082bb090",
"metadata": {},
"source": [
"#### Ploting the distribution of Genres using a bar plot"
]
},
{
"cell_type": "code",
"execution_count": 12,
"id": "eae1e83e-649c-45f2-8333-79bd768ecc40",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,\n",
" 17, 18, 19, 20, 21, 22, 23, 24, 25, 26]),\n",
" [Text(0, 0, ' drama '),\n",
" Text(1, 0, ' documentary '),\n",
" Text(2, 0, ' comedy '),\n",
" Text(3, 0, ' short '),\n",
" Text(4, 0, ' horror '),\n",
" Text(5, 0, ' thriller '),\n",
" Text(6, 0, ' action '),\n",
" Text(7, 0, ' western '),\n",
" Text(8, 0, ' reality-tv '),\n",
" Text(9, 0, ' family '),\n",
" Text(10, 0, ' adventure '),\n",
" Text(11, 0, ' music '),\n",
" Text(12, 0, ' romance '),\n",
" Text(13, 0, ' sci-fi '),\n",
" Text(14, 0, ' adult '),\n",
" Text(15, 0, ' crime '),\n",
" Text(16, 0, ' animation '),\n",
" Text(17, 0, ' sport '),\n",
" Text(18, 0, ' talk-show '),\n",
" Text(19, 0, ' fantasy '),\n",
" Text(20, 0, ' mystery '),\n",
" Text(21, 0, ' musical '),\n",
" Text(22, 0, ' biography '),\n",
" Text(23, 0, ' history '),\n",
" Text(24, 0, ' game-show '),\n",
" Text(25, 0, ' news '),\n",
" Text(26, 0, ' war ')])"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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ffddU7BgQffv61133WXee+89S2vcDvbt22c+++wz88knn9hyb8q5c+fMpEmTTJ8+fYzL5TKdO3c2PXr0yPRhlWsDyc0edoUVY7z7+3PgwIGbPuzQvn1796QwTti2bZuZMGGCadWqlfHz8zORkZGW1/jwww/N+fPnLd/vzcyYMcPrNatUqWIGDhxojPn/PbqnT582zZo1M++8847l9e655x4zfPjwm06WdvHiRTN9+nTLag4ZMsR9UdZbkpOTzRdffGF69uxpKlasaAICAsx9991nXnnlFdtGkyxevNicO3fOln1n5syZM+bFF180+fLly/ReXTsw7X0WkJaWpgYNGmjKlCm69957vVLz3Llzf/vesL9qypQpGjx4sNq1a6dKlSplmIq1WbNmltd8/vnntXTpUk2cOFE1a9aUJMXHx6tbt2566KGHNGnSJMtrVqhQQT179tTTTz+toKAgbd26VUWLFlVCQoIaNWqkpKQky2t6k/m/RRnDw8O9+ju0atUq1ahRQ76+nrfWXrp0SatXr1atWrUsrXfw4EEVKlTI0n3ezKVLl/TRRx+pYcOGioyM1G+//abLly9nmN7bCl9++aUaN24sPz8/ffnllzdta8ffpbfVrVtXCxYssP0esr+y3pDdv1t2/v44adiwYRo9erTq16+f6fuIHUsYXLVlyxatWLFCy5cv1/fff6/Tp0+rQoUK2rBhg201pStrrC1btkzFixe3ZQmXS5cuKXv27EpISLB9OZFrBQUFKSEhQXfffbdy586t+Ph4lSpVSlu3blXz5s114MABrx2LHdLS0lS8eHF9/fXXiomJcew49u3bp6FDh2rWrFm6fPmyLctRBAcH6+LFi6pUqZLHlPu5cuWyvJYkvfjii1q+fLmGDBmip59+Wm+//bb+97//acqUKRo5cqTatWtneU0CWRaRL18+rV69WsWKFbOtxqlTp/50WztuwsyW7cbrnNu1Zk3evHk1d+7cDBOhLF++XG3atNHx48ctr5kjRw7t3LlThQsX9ghkv/zyi2JiYnThwgXLa548eVLvv/++du3aJZfLpZiYGHXo0ME9SYOVLl++rOzZs+vHH3+09ff1ejda1+nEiRMKDw+3bb01b8qRI4d27dpl+4f1a9dy8vbf5WOPPabKlSurf//+HtvfeOMNrV+/Xp999pml9a73ww8/qHLlygoICLC1Tlaxb98+jR8/3v3aU7JkSXXv3l133323LfWunwzmWi6XS7/88ovlNZs1a6b4+HidOnVK5cuXV506dVSnTh3VqlXLlvfKNm3aqFatWnrppZd0/vx5lStXTgcOHJAxRnPmzLFloqq7775b8+fPV7ly5Szf941ERkZq2bJliomJUalSpTRixAg1a9ZMW7duVc2aNXXmzBnLa548eVLr16/PdP3Mp59+2vJ6TqyF+vvvv7snoVmxYoV+/PFHhYWFqVatWqpbt65efPFFy2ump6dr/fr17rqrV6/WhQsXVLFiRdWpU0cjR460tF7BggX14Ycfqk6dOgoODtbmzZt1zz33aObMmfr444+1cOFCS+tJErMsOuDEiRMaNGiQli9fnukf7e+//255zaefflrvv/++5b+01woNDf3Ts8HZ8eH2+p+jN5w7d04REREZtoeHh3usKm+l/Pnz6+eff1bhwoU9tsfHx6to0aKW19u4caMaNmyowMBA3XfffTLGaOzYsRo2bJgWL16sihUrWlovW7ZsKlasmE6cOOHVQGb+b6Hr6504ccKyhS9z5879p/9G7HgdqFq1qrZs2WJ7ILv2b9Hbf5crV67Uf/7znwzbGzVqpNGjR9tev3HjxkpISLDlb/FaH3744U2ft+PDn7ffuxYtWqRmzZqpfPnyqlmzpowxWr16tUqVKqWvvvrKllk69+/fb/k+/8i9996rzp072xbArrdq1Sq9+uqrkqQFCxbIGKOTJ09qxowZGjp0qC2B7N///rcGDBigWbNmecwMaqdq1arphx9+UExMjJo0aaLevXtr+/btmj9/vi0L/n711Vdq166dzp49q6CgII/XepfLZcvf5Msvv6zXX39d7733XobRHXbJly+f8ubNqwceeECdOnVSnTp1bO/59PHxUfXq1VW9enX1799fO3bs0OjRo/XRRx9pw4YNln+2/f33390XZ4KDg92vbffff7/li1BfRSBzwFNPPaV9+/apY8eOioiIsGxK65tJTU3Ve++9pyVLlqhy5coZPmCOHTv2b9e4djr2AwcOqH///mrfvr2qV68uSVqzZo1mzJihESNG/O1at4vq1avrP//5jz788ENlz55dknT+/Hm99tpr7vO22vPPP6/u3bvrgw8+kMvl0q+//qo1a9aoT58+GjRokOX1evbsqWbNmmnq1KnuF/xLly7pueeeU48ePbRq1SrLa44aNUp9+/Z1T/9up6vLTLhcLrVv396jZyM9PV3btm1TjRo1LKnlyFS61+jatat69+6tI0eOZDocq2zZsl45jpMnT9o2vO/MmTPy9/fPsN3Pz+8v9eLfKm8NOunevbvH12lpaTp37pz8/f2VI0cOWz78efu9q3///urZs2eGD1v9+/dXv379bAlk17r6f2n3eXrjQsG1UlJS3KEoLi5Ojz76qHLkyKEmTZqob9++ttR866239PPPPysqKkqFChXK8NqzefNmy2uOHTvW3Qs2ePBgnTlzRp988onuuecejRs3zvJ6vXv3VocOHTR8+HCvDbdft26dvvvuOy1evFhlypTJ8HOdP3++5TW3bt3q1aGnkrRr1y5379jKlSuVnp6u+++/X2PGjFHt2rUtr1e0aFEdOHBAhQoVUkxMjD799FPdd999+uqrr2x772LIogOCgoIUHx/v1a77unXr3vA5l8ulZcuWWVqvfv36eu655/Tkk096bJ89e7beffddrVixwtJ6V61cuVKjR4/2GN7St29f29bG2L59uxo3bqwLFy6oXLlycrlcSkhIUPbs2bVo0SKVKlXKlrqvvvqqxo0b5x6eGBAQoD59+ui///2v5bUCAwO1ZcsWlShRwmP7zp07VblyZVt6AnPnzq1z587p0qVL8vf3V2BgoMfzVl6Jf/bZZyVJM2bMUJs2bTxq+fv7q3DhwurUqZPy5s1rWU2nZDZ80OVyuXsH7ei5fv3111W4cGH3GjitW7fWvHnzlD9/fi1cuNDy18EqVarokUceyXBxYvDgwfrqq6+0adMmS+td79phxN62d+9evfDCC+rbt68aNmxo+f69/d6VPXt2bd++PUNP+Z49e1S2bFlbhmdLV3of33jjDe3du1fSlR6svn37KjY21pZ6knffu+69914NHTpUTZo0UZEiRTRnzhzVq1dPW7duVf369W1Zd/K111676fOZ9Wr/0+TMmVPbt2/36t/+1fevG5k2bZpttY8fP67du3fL5XLp3nvv9Vi7z2rZsmVTvnz51KNHDzVr1sy2z1ZXjRs3Tj4+PurWrZuWL1+uJk2aKD09XZcuXdLYsWMzXBCzAj1kDihRooTOnz/v1ZreXkx4zZo1mjx5cobtlStX1nPPPWdLzVmzZunZZ59Vq1at1K1bN/fwlvr162v69Olq27at5TXLlCmjvXv3atasWfrpp59kjNETTzyhdu3aZQgRVho2bJheffVV7dy5U5cvX1ZMTIxtN7cGBwfr0KFDGQLZ4cOHFRQUZEtNb/YkXX3DKly4sPr06WPZ8MTMnDp1yj0k6Y96a+wYuuTEcKwpU6Zo1qxZkqQlS5Zo6dKliouL06effqq+fftq8eLFltYbOHCgHn30Ue3bt0/16tWTJH333Xf6+OOPbb9/TLpyvpkNY/aGYsWKaeTIkXrqqaf0008/Wb5/b7935cuXTwkJCRkCWUJCgm2TiYwdO1YDBw7USy+95B4m+cMPP6hLly767bffbFm02NvvXT169FC7du2UK1cuFSpUyH0P9KpVq1SmTBlLa13lRODasGGDLl++rKpVq3psX7dunXx8fFS5cmVL6zVs2FAbN270aiCzM3DdyNmzZ/Xyyy/rww8/dA9b9vHx0dNPP60JEybY0jvYrVs3rVq1SoMHD9bnn3/uvs/ygQcesOWzz7V/53Xr1tVPP/2kjRs36u6777bvgpQtczfiptavX2/q1atnVqxY4bWFdr3t3nvvNb169cqwvVevXubee++1pWaJEiXM2LFjM2wfM2aMKVGihOX1UlNTTZEiRcyPP/5o+b5vJy+//LK56667zJw5c8yhQ4fM4cOHzccff2zuuusu0717d6cPzxYjRozIsG6eFbJly2aOHj1qjDGZru1m9xpLTsiePbt7Aehu3bqZzp07G2OM2b17t+WLwF719ddfmxo1apgcOXKYPHnymLp169q2RMPtZvPmzSYoKMiWfXv7veu1114zoaGhZuTIkWbVqlXm+++/NyNGjDChoaHmv//9r+X1jLmy5MaMGTMybJ8+fbqla2Rdy9vvXcZcWUx4/vz5HmtIff311yY+Pt6WesZcmS596tSppn///u61UDdt2mTbtO1VqlQxn332WYbt8+bNs2zN1y+++ML9eO+990zBggXNf/7zHzN37lyP57744gtL6t2IN9dC7dy5sylatKhZuHCh+2//m2++MXfffbfp0qWLrbWTk5PNl19+aXr37m0qV65sAgICTNWqVS2vY+capDfCkEUH7N27V08++aS2bNnisd3YOGxIunK16LPPPtOhQ4eUmprq8ZzV44wXLlyoRx99VHfffbf75tm1a9dq3759mjdvnh5++GFL60lXhu39+OOPuueeezy2//zzzypd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0YYNG5Q3b16v1JWk4cOHq1u3bho8eLBH0B0yZIhef/11j/ecv/Oe4uR714EDBzINzxcvXtT//vc/S2tdnSHY5XKpfv36HkPr0tPTtX//ftum2n/99ddVuHBhPf7445Kk1q1ba968ecqfP78WLlxo+VDQ/fv3W7q/m7m6HI3L5VL79u09hoKmp6dr27ZtqlGjhi21W7durcWLF6tLly627D8zzz77rC5duqRXXnlF586dU9u2bVWgQAG9+eablocx6cotGd5GD5kD8ubNq2XLlqls2bIKCQnR+vXrVbx4cS1btky9e/fWli1bLKt19YrNwYMHddddd3l8gPb391fhwoU1ZMgQVa1a1bKa3nRtL46U+QdOu2cA27dvn8aPH+8xI1f37t1tmz3PWzM7OuHqcMyUlJQM0+2np6frzJkz6tKli95++23Lax88eNCrP9OePXsqX758+te//mV7LSd/rt52/PhxPfvsszfsebPjdSAuLk65cuVy93C8/fbbmjp1qmJiYvT2229bPmnStc6ePat9+/bJGKN77rnHttnq0tLS1KBBA02ZMkX33nuvLTVuB9deILl+hMC1X//d9xQn3rucGAp6dYbg1157Tb179/a4KHv1M8ijjz4qf39/y2peVbRoUc2aNUs1atTQkiVL1KZNG33yySf69NNPdejQIS1evNjymt7y7LPPSroyeqZNmzYeE3hc/bl26tTJsosZVy/uS1dec8aOHasmTZo4cv/zb7/9psuXL2cY6fFPRw+ZA9LT090vSnnz5tWvv/6q4sWLq1ChQpaPib96xaZu3bruGZS84cKFC5owYYKWL1+e6Sw8Vt30afVUp3/VokWL1KxZM5UvX141a9aUMUarV69WqVKl9NVXX+mhhx6yvGbVqlW1ZcsWr4WHESNGKCIiIsPQxA8++EDHjx+3dBz5+PHjZYxRhw4d9Nprr3l8YLj6JmPX2ip169b16jCe9PR0jRo1SosWLVLZsmUzvKlZuY6Ukz9Xb+vRo4eSk5O1du1a1a1bVwsWLNDRo0c1dOhQ23rk+vbtq9dff13SlWmoe/Xqpd69e2vZsmXq1auXpk2bZktd6cr9R96YPMjPz087duzw+rpgZ8+e1cqVKzPt7bTjg5+33lOceO+62lvtcrkyDG2/diiola4uUVK4cGH3sHtvSUxMVHR0tCTp66+/Vps2bdSg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ffv2qW/fvgoLC9POnTsVERGhAgUK2FbXWx544AEtWbJEZcqUUZs2bdS9e3ctW7ZMS5YsUf369W2p6cR019HR0V79e581a5bmz5+vhx9+2Gs1s4oqVaro3Xff1YQJEzy2T548WZUqVbK83okTJzRo0KAb9nbacS+y05o0aaL33nsv06VGrLJt2zaVL19ekjKse2rXe9hXX32loUOHqnbt2urYsaNatWql7Nmz21Lrj/j4+OjXX3+1fL9lypTRL7/8Ynsga9WqlaZPn67g4GC1atXqpm3tumD62GOPSbqyEPbly5eVLVu2O6KXykn0kGUhly5d0ooVK7Rv3z61bdtWQUFB+vXXXxUcHKxcuXJZWuvqlfjrX9ztvBLvhKCgIH3//ffuNze7XDtk5ezZsxo7dqyaNGmSadi1ejKRsmXL6vnnn9eLL76ooKAgbd26VUWKFNHzzz+v/Pnz/2GP763Ytm2b6tevr9DQUB04cEC7d+9W0aJFNXDgQB08ePAPb9b+s3r16vWn21p91diJIWdO+OabbzRhwgRNnjzZKzdjFylSRN9++60tQ3Wyuh9++EEPPvigqlSp4r5o8N1332nDhg1avHixHnjgAUvrNW7cWPv27VPHjh0z7e28Ez8AXn2N9eYICG/Ztm2bpk2bptmzZys1NVVPPPGEOnTooCpVqthS79o1JqUrnz8SExM1ceJERUdH69tvv7W03uLFi9WvXz/997//VaVKlTLcjmLVhalnn31Wb731loKCgrw++ul6TozYuVMRyLwkd+7cf/rKkx1X/Q4ePKhGjRrp0KFDunjxovbs2aOiRYuqR48eunDhgiZPnmxpvZUrV970+dq1a1tazykxMTH66KOPVKFCBVvr/NkrbnfKvU4PPvigKlasqFGjRnl8QFm9erXatm2rAwcOWFKnbt26f6qdy+WyZPH0Xr166b///a9y5sypVatWqUaNGvL19e5AhZkzZ2ry5Mnav3+/1qxZo0KFCmn8+PEqUqSILUNNcufOrXPnzunSpUtemXF1xowZiouL89qsjllNQkKC3njjDSUkJCgwMFBly5bVgAEDVKxYMctrBQUFKT4+3qv3IjvtTg5kV126dElfffWVpk2bpri4OBUvXlzPPfec2rdvr5CQEMvqXD9E2+VyKV++fKpXr57GjBljeS/ktfWu/bx3p12IvlZW+H31FoYs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sGDBAokSEhERERGZN+4hMxMvvfQS+vXrh2nTpmldX79+Pb766iukpKRIE4yIiIiIyIyxIDMTdnZ2yM/Pr3UO2ffff4/OnTujrKxMomREREREROaLTT3MhLOzM/bu3VvrekpKCpydnSVIRERERERE3ENmJuLi4jB+/HhkZmZq9pCdOHECqamp2LRpk8TpiIiIiIjME5csmpFvv/0Wa9euRXFxMYQQ8PLyQnR0NLp37y51NCIiIiIis8SCjIiIiIiISCLcQ0ZERERERCQRFmREREREREQSYUFGREREREQkERZkREREREREEmFBRkREREREJBEWZERERERERBJhQUZERERERCQRFmREREREREQSYUFGREREREQkERZkREREREREEmFBRkRE9P9KS0sxY8YMuLu7o1GjRmjevDl69+6NDRs2oKKiQup4RERkgqykDkBERFQfXL58GQqFAk2aNEF8fDx8fHxQXV2NixcvYsuWLWjZsiVCQ0P1Mvbjx4/RsGFDvbw3ERHVb5whIyIiAjBlyhRYWVkhLy8Po0ePhqenJ3x8fPDSSy/h0KFDGDZsGADgwYMHmDBhApo1awYHBwcEBQWhoKBA8z7vvvsufH198emnn8LV1RWNGzfGa6+9hp9++knzmsDAQEybNg2zZs1C06ZNMXDgQADAuXPnMGTIENjZ2aF58+YYM2YM7ty5Y9g/CCIiMigWZEREZPbu3r2LtLQ0TJ06Fba2tnW+RiaTQQiBoUOHorS0FIcPH8apU6fg5+eH/v374969e5rXqlQqpKSk4ODBgzh48CCysrKwdOlSrff75JNPYGVlBaVSiY8++gg3btxA37594evri7y8PKSmpuLmzZsYPXq0Xr93IiKSFpcsEhGR2bt06RKEEPDw8NC63rRpU1RWVgIApk6diuDgYBQWFuLWrVuwtrYGAKxcuRIpKSnYtWsXJkyYAABQq9XYtm0b7O3tAQBjxoxBRkYGlixZonlvd3d3LF++XPN44cKF8PPzQ3x8vObali1b0KZNG1y8eBHt27fXzzdPRESSYkFGRET0/2Qymdbj3NxcqNVqhIeH49GjRzh16hTKysrg7Oys9bqHDx9CpVJpHru6umqKMQBwcXHBrVu3tP4ff39/rcenTp3CsWPHYGdnVyuXSqViQUZEZKJYkBERkdlzd3eHTCbD+fPnta63a9cOAGBjYwPg55kvFxcXZGZm1nqPJk2aaL5u0KCB1nMymQxqtVrr2q+XRqrVagwbNgzLli2r9d4uLi5/+nshIiLjwoKMiIjMnrOzMwYOHIj169dj+vTpv7mPzM/PD6WlpbCysoKrq6tOM/j5+WH37t1wdXWFlRV/PRMRmQs29SAiIgLw4Ycforq6Gv7+/vjss89QXFyMCxcuYPv27Th//jwsLS0xYMAA9OzZEyNGjMCRI0dQUlKCnJwcvP3228jLy3uq8adOnYp79+7h9ddfR25uLi5fvoy0tDRERkaipqZGR98lERHVN7wFR0REBOD555/HmTNnEB8fj/nz5+PatWuwtraGl5cXZs+ejSlTpkAmk+Hw4cP4+9//jsjISNy+fRstWrRAnz590Lx586cav2XLllAqlZg7dy6Cg4Px6NEjtG3bFoMHD4aFBe+fEhGZKpkQQkgdgoiIiIiIyBzxlhsREREREZFEWJARERERERFJhAUZERERERGRRFiQERERERERSYQFGRERERERkURYkBEREREREUmEBRkREREREZFEWJARERERERFJhAUZERERERGRRFiQERERERERSYQFGRERERERkUT+D5u4CtGDGiStAAAAAElFTkSuQmCC",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure(figsize = (10,8))\n",
"sns.barplot(x=counts.index, y=counts)\n",
"plt.xticks(rotation=90)"
]
},
{
"cell_type": "code",
"execution_count": 13,
"id": "8f6ed485-e0bb-42b3-95d4-95a34c770b1b",
"metadata": {},
"outputs": [],
"source": [
"stemmer = LancasterStemmer()\n",
"stop_words = set(stopwords.words('english'))\n",
"\n",
"def corpus(text):\n",
" text = text.lower() # Lowercase all characters\n",
" text = re.sub(r'@\\S+', '', text) # Remove Twitter handles\n",
" text = re.sub(r'http\\S+', '', text) # Remove URLs\n",
" text = re.sub(r'pic.\\S+', '', text)\n",
" text = re.sub(r\"[^a-zA-Z+']\", ' ', text) # Keep only characters\n",
" text = re.sub(r'\\s+[a-zA-Z]\\s+', ' ', text + ' ') # Keep words with length > 1 only\n",
" text = \"\".join([i for i in text if i not in string.punctuation])\n",
" words = nltk.word_tokenize(text)\n",
" stopwords = nltk.corpus.stopwords.words('english') # Remove stopwords\n",
" text = \" \".join([i for i in words if i not in stopwords and len(i) > 2])\n",
" text = re.sub(\"\\s[\\s]+\", \" \", text).strip() # Remove repeated/leading/trailing spaces\n",
" return text\n",
"\n",
"train_data['Corpus_cleaning'] = train_data['Description'].apply(corpus)\n",
"test_data['Corpus_cleaning'] = test_data['Description'].apply(corpus)"
]
},
{
"cell_type": "code",
"execution_count": 14,
"id": "4d6ddc89-b80e-4706-a0c1-938b7658885b",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" Title \n",
" Genre \n",
" Description \n",
" Corpus_cleaning \n",
" \n",
" \n",
" \n",
" \n",
" 1 \n",
" Oscar et la dame rose (2009) \n",
" drama \n",
" Listening in to a conversation between his do... \n",
" listening conversation doctor parents year old... \n",
" \n",
" \n",
" 2 \n",
" Cupid (1997) \n",
" thriller \n",
" A brother and sister with a past incestuous r... \n",
" brother sister past incestuous relationship cu... \n",
" \n",
" \n",
" 3 \n",
" Young, Wild and Wonderful (1980) \n",
" adult \n",
" As the bus empties the students for their fie... \n",
" bus empties students field trip museum natural... \n",
" \n",
" \n",
" 4 \n",
" The Secret Sin (1915) \n",
" drama \n",
" To help their unemployed father make ends mee... \n",
" help unemployed father make ends meet edith tw... \n",
" \n",
" \n",
" 5 \n",
" The Unrecovered (2007) \n",
" drama \n",
" The film's title refers not only to the un-re... \n",
" films title refers recovered bodies ground zer... \n",
" \n",
" \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" \n",
" \n",
" 54210 \n",
" \"Bonino\" (1953) \n",
" comedy \n",
" This short-lived NBC live sitcom centered on ... \n",
" short lived nbc live sitcom centered bonino wo... \n",
" \n",
" \n",
" 54211 \n",
" Dead Girls Don't Cry (????) \n",
" horror \n",
" The NEXT Generation of EXPLOITATION. The sist... \n",
" next generation exploitation sisters kapa bay ... \n",
" \n",
" \n",
" 54212 \n",
" Ronald Goedemondt: Ze bestaan echt (2008) \n",
" documentary \n",
" Ze bestaan echt, is a stand-up comedy about g... \n",
" bestaan echt stand comedy growing facing fears... \n",
" \n",
" \n",
" 54213 \n",
" Make Your Own Bed (1944) \n",
" comedy \n",
" Walter and Vivian live in the country and hav... \n",
" walter vivian live country difficult time keep... \n",
" \n",
" \n",
" 54214 \n",
" Nature's Fury: Storm of the Century (2006) \n",
" history \n",
" On Labor Day Weekend, 1935, the most intense ... \n",
" labor day weekend intense hurricane ever make ... \n",
" \n",
" \n",
"
\n",
"
54214 rows × 4 columns
\n",
"
"
],
"text/plain": [
" Title Genre \\\n",
"1 Oscar et la dame rose (2009) drama \n",
"2 Cupid (1997) thriller \n",
"3 Young, Wild and Wonderful (1980) adult \n",
"4 The Secret Sin (1915) drama \n",
"5 The Unrecovered (2007) drama \n",
"... ... ... \n",
"54210 \"Bonino\" (1953) comedy \n",
"54211 Dead Girls Don't Cry (????) horror \n",
"54212 Ronald Goedemondt: Ze bestaan echt (2008) documentary \n",
"54213 Make Your Own Bed (1944) comedy \n",
"54214 Nature's Fury: Storm of the Century (2006) history \n",
"\n",
" Description \\\n",
"1 Listening in to a conversation between his do... \n",
"2 A brother and sister with a past incestuous r... \n",
"3 As the bus empties the students for their fie... \n",
"4 To help their unemployed father make ends mee... \n",
"5 The film's title refers not only to the un-re... \n",
"... ... \n",
"54210 This short-lived NBC live sitcom centered on ... \n",
"54211 The NEXT Generation of EXPLOITATION. The sist... \n",
"54212 Ze bestaan echt, is a stand-up comedy about g... \n",
"54213 Walter and Vivian live in the country and hav... \n",
"54214 On Labor Day Weekend, 1935, the most intense ... \n",
"\n",
" Corpus_cleaning \n",
"1 listening conversation doctor parents year old... \n",
"2 brother sister past incestuous relationship cu... \n",
"3 bus empties students field trip museum natural... \n",
"4 help unemployed father make ends meet edith tw... \n",
"5 films title refers recovered bodies ground zer... \n",
"... ... \n",
"54210 short lived nbc live sitcom centered bonino wo... \n",
"54211 next generation exploitation sisters kapa bay ... \n",
"54212 bestaan echt stand comedy growing facing fears... \n",
"54213 walter vivian live country difficult time keep... \n",
"54214 labor day weekend intense hurricane ever make ... \n",
"\n",
"[54214 rows x 4 columns]"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"train_data"
]
},
{
"cell_type": "code",
"execution_count": 15,
"id": "67c30bbe-794f-4152-867a-e1b8f7a6e70d",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" id \n",
" Title \n",
" Description \n",
" Corpus_cleaning \n",
" \n",
" \n",
" \n",
" \n",
" 0 \n",
" 1 \n",
" Edgar's Lunch (1998) \n",
" L.R. Brane loves his life - his car, his apar... \n",
" brane loves life car apartment job especially ... \n",
" \n",
" \n",
" 1 \n",
" 2 \n",
" La guerra de papá (1977) \n",
" Spain, March 1964: Quico is a very naughty ch... \n",
" spain march quico naughty child three belongin... \n",
" \n",
" \n",
" 2 \n",
" 3 \n",
" Off the Beaten Track (2010) \n",
" One year in the life of Albin and his family ... \n",
" one year life albin family shepherds north tra... \n",
" \n",
" \n",
" 3 \n",
" 4 \n",
" Meu Amigo Hindu (2015) \n",
" His father has died, he hasn't spoken with hi... \n",
" father died hasnt spoken brother years serious... \n",
" \n",
" \n",
" 4 \n",
" 5 \n",
" Er nu zhai (1955) \n",
" Before he was known internationally as a mart... \n",
" known internationally martial arts superstar b... \n",
" \n",
" \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" \n",
" \n",
" 54195 \n",
" 54196 \n",
" \"Tales of Light & Dark\" (2013) \n",
" Covering multiple genres, Tales of Light & Da... \n",
" covering multiple genres tales light dark anth... \n",
" \n",
" \n",
" 54196 \n",
" 54197 \n",
" Der letzte Mohikaner (1965) \n",
" As Alice and Cora Munro attempt to find their... \n",
" alice cora munro attempt find father british o... \n",
" \n",
" \n",
" 54197 \n",
" 54198 \n",
" Oliver Twink (2007) \n",
" A movie 169 years in the making. Oliver Twist... \n",
" movie years making oliver twist artful dodger ... \n",
" \n",
" \n",
" 54198 \n",
" 54199 \n",
" Slipstream (1973) \n",
" Popular, but mysterious rock D.J Mike Mallard... \n",
" popular mysterious rock mike mallard askew bro... \n",
" \n",
" \n",
" 54199 \n",
" 54200 \n",
" Curitiba Zero Grau (2010) \n",
" Curitiba is a city in movement, with rhythms ... \n",
" curitiba city movement rhythms different pulsa... \n",
" \n",
" \n",
"
\n",
"
54200 rows × 4 columns
\n",
"
"
],
"text/plain": [
" id Title \\\n",
"0 1 Edgar's Lunch (1998) \n",
"1 2 La guerra de papá (1977) \n",
"2 3 Off the Beaten Track (2010) \n",
"3 4 Meu Amigo Hindu (2015) \n",
"4 5 Er nu zhai (1955) \n",
"... ... ... \n",
"54195 54196 \"Tales of Light & Dark\" (2013) \n",
"54196 54197 Der letzte Mohikaner (1965) \n",
"54197 54198 Oliver Twink (2007) \n",
"54198 54199 Slipstream (1973) \n",
"54199 54200 Curitiba Zero Grau (2010) \n",
"\n",
" Description \\\n",
"0 L.R. Brane loves his life - his car, his apar... \n",
"1 Spain, March 1964: Quico is a very naughty ch... \n",
"2 One year in the life of Albin and his family ... \n",
"3 His father has died, he hasn't spoken with hi... \n",
"4 Before he was known internationally as a mart... \n",
"... ... \n",
"54195 Covering multiple genres, Tales of Light & Da... \n",
"54196 As Alice and Cora Munro attempt to find their... \n",
"54197 A movie 169 years in the making. Oliver Twist... \n",
"54198 Popular, but mysterious rock D.J Mike Mallard... \n",
"54199 Curitiba is a city in movement, with rhythms ... \n",
"\n",
" Corpus_cleaning \n",
"0 brane loves life car apartment job especially ... \n",
"1 spain march quico naughty child three belongin... \n",
"2 one year life albin family shepherds north tra... \n",
"3 father died hasnt spoken brother years serious... \n",
"4 known internationally martial arts superstar b... \n",
"... ... \n",
"54195 covering multiple genres tales light dark anth... \n",
"54196 alice cora munro attempt find father british o... \n",
"54197 movie years making oliver twist artful dodger ... \n",
"54198 popular mysterious rock mike mallard askew bro... \n",
"54199 curitiba city movement rhythms different pulsa... \n",
"\n",
"[54200 rows x 4 columns]"
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"test_data"
]
},
{
"cell_type": "code",
"execution_count": 16,
"id": "8146b3bf-efce-4f4c-8eb3-0185431aff60",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"shape before drop nulls (54214, 4)\n",
"shape after drop nulls (54214, 4)\n"
]
}
],
"source": [
"print(\"shape before drop nulls\",train_data.shape)\n",
"train_data = train_data.drop_duplicates()\n",
"print(\"shape after drop nulls\",train_data.shape)"
]
},
{
"cell_type": "code",
"execution_count": 17,
"id": "83d3f5ba-3231-4030-b7b1-a429c87f2066",
"metadata": {},
"outputs": [],
"source": [
"import warnings\n",
"warnings.filterwarnings(\"ignore\", \"use_inf_as_na\")\n",
"train_data['length_Corpus_cleaning'] = train_data['Corpus_cleaning'].apply(len)"
]
},
{
"cell_type": "markdown",
"id": "601a2ed8-6ef2-470a-835b-18ed99ee2db2",
"metadata": {},
"source": [
"#### Visualizing the text length"
]
},
{
"cell_type": "code",
"execution_count": 18,
"id": "6576f225-4222-498b-a0f3-5e44d0c46ddc",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Text(0, 0.5, 'Frequency')"
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"sns.histplot(data = train_data, x = train_data['length_Corpus_cleaning'], bins = 20, kde = True)\n",
"plt.xlabel('Length')\n",
"plt.ylabel('Frequency')"
]
},
{
"cell_type": "code",
"execution_count": 19,
"id": "c3be52c8-02b2-4db8-a547-db438bd0371f",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Text(0, 0.5, 'Frequency')"
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA/8AAAIhCAYAAAAYQQq9AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABx2klEQVR4nO3dfVxUZf7/8ffInUAwiggjRd5sZCpWRhuibep6WyJbbmlhpOWqZWkkmvnb3dS+raSV2q5l5rZaqVH7LavthtU2s3XFmzAqzKw28yZB3MRBTQHh+v3R17MOoCICMxxfz8djHg/nOp8557rOqJ/zmXPOdRzGGCMAAAAAAGBbzbzdAQAAAAAA0LAo/gEAAAAAsDmKfwAAAAAAbI7iHwAAAAAAm6P4BwAAAADA5ij+AQAAAACwOYp/AAAAAABsjuIfAAAAAACbo/gHAAAAAMDmKP6BBrBhwwbdcsstatOmjQIDA+VyuXTzzTcrJyfnrNYzY8YMORyOOvXhww8/lMPh0Icfflinz9dW79691bt371MuX7p0qRwOxxlf7dq1q7c+vfvuu5oxY0at40eNGqULLrig3rZf39avX68ZM2bo4MGD1Za1a9dOycnJjd8pADiPffbZZ7rzzjvVvn17NW/eXBdccIGuuuoqzZkzRwcOHLDizpQjm5p27dpp1KhRp1w+atSoWuX8063jbD3zzDNaunRpreN9PW+uWLFC8+fPr9b+3XffyeFw6Iknnmj8TsE2/L3dAcBu/vSnPyk9PV3XXHON5syZo7Zt22rXrl16+umnde211+qpp57SfffdV6t1/eY3v9GgQYPq1I+rrrpKOTk56ty5c50+X18GDx5c7UePpKQk3XzzzcrIyLDagoKC6m2b7777rp5++umz+gHAl61fv14zZ87UqFGj1KJFC293BwDOa4sXL9b48ePVsWNHTZkyRZ07d1Z5ebk+/vhjPfvss8rJydHKlSu93U2v+P3vf6+7777ber9lyxbde++9mjVrlvr06WO1t27dut62+cwzzygyMrJef1DwphUrVig/P1/p6ene7gpsiOIfqEf/+te/lJ6erhtuuEErV66Uv/9//4ndeuutuummm3T//ferW7du6tmz5ynX8+OPPyokJEQXXXSRLrroojr1JTw8XN27d6/TZ+tT69ata0zy0dHRPtE/AABqKycnR/fcc4/69++vN954w+OH6/79+ysjI0PZ2dle7KF3/exnP9PPfvYz6/2xY8ckSXFxceR8wAdw2T9QjzIzM+VwOLRw4UKPwl+S/P399cwzz8jhcOixxx6z2k9c2r9lyxbdfPPNatmypZU4a7rsv7S0VBkZGXK5XAoJCdF1112n3Nzcapfi1XTZ/4nL27/55hvdcMMNuuCCCxQbG6uMjAyVlpZ6bGfmzJlKTExURESEwsPDddVVV+n555+XMaae9panr7/+WqmpqYqKilJQUJA6deqkp59+2lp+7NgxdevWTZdcconcbrfVXlhYKJfLpd69e6uiokKjRo2yPnfyJYbffffdOffx/fffV9++fRUeHq6QkBD17NlT//jHPzxiTnxnW7du1W233San06no6GjdddddHv2WpIMHD2r06NGKiIjQBRdcoMGDB+vbb7+Vw+GwrlqYMWOGpkyZIklq3769NZ6qt3NkZ2frqquuUnBwsC677DL95S9/OefxAgA8zZo1Sw6HQ88991yNV6wFBgYqJSXltOsoKyvTo48+qssuu0xBQUFq3bq17rzzTu3fv98j7pVXXtGAAQPUpk0bBQcHq1OnTnrooYd05MgRj7izye213XZ5ebkefPBB61jj2muv1aZNm85mV53WmfLp119/rfDwcN1yyy0en/vggw/k5+en3//+95J+uoR/69atWrt2bb3eRmiM0TPPPKMrr7xSwcHBatmypW6++WZ9++23HnG9e/dWfHy8Nm/erF/84hcKCQlRhw4d9Nhjj6mystIjduvWrRowYIBCQkLUunVr3XvvvXrnnXc8cnrv3r31zjvvaOfOnR7HMFXNnTtX7du31wUXXKCkpCRt2LDhnMeM8wPFP1BPKioqtGbNGl199dWnPFsfGxurhIQEffDBB6qoqPBYNnToUF1yySX661//qmefffaU27nzzjs1f/583XnnnXrzzTf161//WjfddFON94PXpLy8XCkpKerbt6/efPNN3XXXXZo3b55mz57tEffdd99p3LhxevXVV/X6669r6NChmjBhgv7nf/6nVts5G1988YV+/vOfKz8/X08++aTefvttDR48WBMnTtTMmTMlSc2bN9err76qoqIi3XXXXZKkyspKjRgxQsYYvfzyy9YBwc033yzppzM0J15t2rQ5pz4uW7ZMAwYMUHh4uF544QW9+uqrioiI0MCB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KEh33323Vq5cqc6dOzfpMdnt+CcxMVEvvvii/v73v2vx4sUqLCxUjx499MMPPzTJ8Zxg9+OwN954QwcPHtSoUaOsfpzo2+n66qvjkST/Bl076sThcHi8N8ZUa7Ob++67T5999pnWrVtXbVld9kfVmJrifX2/7t69W/fff79WrVql5s2bnzLufN0/klRZWamrr75as2bNkiR169ZNW7du1cKFC3XHHXdYcefrPnrllVe0bNkyrVixQl26dFFeXp7S09MVExOjkSNHWnHn6/45lcbaH3baZ6ibppzvm/L/G3Y75ujYsaPy8vJ08OBBvfbaaxo5cqTWrl17yv74+pjsePxz/fXXW3/u2rWrkpKS9LOf/UwvvPCCunfvXmNffHk8J9j9OOz555/X9ddf73GVXk19aSrjkTjz71MiIyPl5+dX7RefoqKiar8w2cmECRP01ltvac2aNbrooous9hOzoJ5uf7hcLpWVlam4uPi0Mfv27au23f379/v0fs3NzVVRUZESEhLk7+8vf39/rV27Vn/84x/l7+9v9f183T+S1KZNG3Xu3NmjrVOnTtq1a5ck/g5NmTJFDz30kG699VZ17dpVaWlpeuCBB6wzKef7/qmqMfeHy+Wqtp3i4mKVl5c3qX2GumnK+b6p/79hx2OOwMBAXXLJJbr66quVmZmpK664Qk899VSTHdP5cPwTGhqqrl276uuvv26y35Nk7+OwnTt36v3339dvfvMbq60pj+cEin8fEhgYqISEBK1evdqjffXq1erRo4eXetVwjDG677779Prrr+uDDz5Q+/btPZa3b99eLpfLY3+UlZVp7dq11v5ISEhQQECAR0xBQYHy8/OtmKSkJLndbm3atMmK2bhxo9xut0/v1759++rzzz9XXl6e9br66qs1YsQI5eXlqUOHDuf1/pGknj17VntU01dffaW2bdtK4u/Qjz/+qGbNPP+b9/Pzsx71d77vn6oac38kJSUpPz9fBQUFVsyqVasUFBSkhISEBh0nvK8p5/um+v/G+XTMYYxRaWlpkx3T+XD8U1paqm3btqlNmzZN9nuS7H0ctmTJEkVFRWnw4MFWW1Mej6Vh5hFEXZ149M/zzz9vvvjiC5Oenm5CQ0PNd9995+2u1bt77rnHOJ1O8+GHH3o8UuPHH3+0Yh577DHjdDrN66+/bj7//HNz22231fg4jYsuusi8//77ZsuWLeaXv/xljY/TuPzyy01OTo7JyckxXbt29cnHkJ3JybPdGsP+2bRpk/H39zd/+MMfzNdff22WL19uQkJCzLJly6yY83kfjRw50lx44YXWo/5ef/11ExkZaR588EEr5nzbP4cOHTKffPKJ+eSTT4wkM3fuXPPJJ59Yj1drrP1x4lF/ffv2NVu2bDHvv/++ueiii3jU33nEl/O9r/w7qU92PeaYNm2a+eijj8yOHTvMZ599Zv7f//t/plmzZmbVqlVNdkw1aerHPxkZGebDDz803377rdmwYYNJTk42YWFh1r/3pjaeE+x6HFZRUWEuvvhiM3Xq1GrLmuJ4Tkbx74Oefvpp07ZtWxMYGGiuuuoq6zE0diOpxteSJUusmMrKSjN9+nTjcrlMUFCQue6668znn3/usZ6jR4+a++67z0RERJjg4GCTnJxsdu3a5RHzww8/mBEjRpiwsDATFhZmRowYYYqLixthlPWravJj/xjzt7/9zcTHx5ugoCBz2WWXmeeee85j+fm8j0pKSsz9999vLr74YtO8eXPToUMH89vf/taUlpZaMefb/lmzZk2N/++MHDnSGNO4+2Pnzp1m8ODBJjg42ERERJj77rvPHDt2rCGHDx/jq/nel/6d1Be7HnPcdddd1t+h1q1bm759+1qFf1MdU02a+vHPiWfBBwQEmJiYGDN06FCzdevWJjuek9nxOOzvf/+7kWS2b99ebVlTHM/JHMYY07DXFgAAAAAAAG/inn8AAAAAAGyO4h8AAAAAAJuj+AcAAAAAwOYo/gEAAAAAsDmKfwAAAAAAbI7iHwAAAAAAm6P4BwAAAADA5ij+AQAAAACwOYp/ADgFh8OhN954w9vdAAAADYRcj/MJxT9wnnI4HKd9jRo16pzXX5tk6gtJd8aMGbryyiu92gcAAOobuf6/yPWA5O/tDgDwjoKCAuvPr7zyih5++GFt377dagsODvZGtwAAQD0h1wM4GWf+gfOUy+WyXk6nUw6Hw6Pto48+UkJCgpo3b64OHTpo5syZOn78uCTpkUceUUxMjH744QdrfSkpKbruuutUWVmpdu3aSZJuuukmORwO631dLFmyRJ06dVLz5s112WWX6ZlnnrGWfffdd3I4HHr99dfVp08fhYSE6IorrlBOTo7HOhYvXqzY2FiFhITopptu0ty5c9WiRQtJ0tKlSzVz5kx9+umn1pmQpUuXWp/9z3/+o5tuukkhISGKi4vTW2+9VeexAADQmMj1LSSR6wGLAXDeW7JkiXE6ndb77OxsEx4ebpYuXWr+/e9/m1WrVpl27dqZGTNmGGOMOX78uElKSjI33nijMcaYhQsXGqfTab777jtjjDFFRUVGklmyZIkpKCgwRUVFp9y2JLNy5coalz333HOmTZs25rXXXjPffvutee2110xERIRZunSpMcaYHTt2GEnmsssuM2+//bbZvn27ufnmm03btm1NeXm5McaYdevWmWbNmpnHH3/cbN++3Tz99NMmIiLCGu+PP/5oMjIyTJcuXUxBQYEpKCgwP/74o9W3iy66yKxYscJ8/fXXZuLEieaCCy4wP/zwQ533NQAA3kCuJ9cDFP8Aqh0Q/OIXvzCzZs3yiHnppZdMmzZtrPf//ve/TVhYmJk6daoJCQkxy5Yt84g/XaKvbVxsbKxZsWKFR9v//M//mKSkJGPMfw8I/vznP1vLt27daiSZbdu2GWOMGT58uBk8eLDHOkaMGOEx3unTp5srrriixr797ne/s94fPnzYOBwO8957751xXAAA+BJyPbke4J5/ANXk5uZq8+bN+sMf/mC1VVRU6NixY/rxxx8VEhKiDh066IknntC4ceM0fPhwjRgxol77sH//fu3evVujR4/WmDFjrPbjx4/L6XR6xF5++eXWn9u0aSNJKioq0mWXXabt27frpptu8oi/5ppr9Pbbb9eqHyevOzQ0VGFhYSoqKjrr8QAA4EvI9TWvm1wPO6P4B1BNZWWlZs6cqaFDh1Zb1rx5c+vPH330kfz8/PTdd9/p+PHj8vevv/9SKisrJf10D19iYqLHMj8/P4/3AQEB1p8dDofH540xVtsJxpha9+PkdZ9Y/4l1AwDQVJHra173ifWT62FHFP8Aqrnqqqu0fft2XXLJJaeMeeWVV/T666/rww8/1PDhw/U///M/mjlzprU8ICBAFRUVde5DdHS0LrzwQn377bfndKbhsssu06ZNmzzaPv74Y4/3gYGB59RXAACaGnI9cP6h+AdQzcMPP6zk5GTFxsbqlltuUbNmzfTZZ5/p888/16OPPqo9e/bonnvu0ezZs3Xttddq6dKlGjx4sK6//np1795dktSuXTv94x//UM+ePRUUFKSWLVuecns7duxQXl6eR9sll1yiGTNmaOLEiQoPD9f111+v0tJSffzxxyouLtakSZNqNZYJEybouuuu09y5czVkyBB98MEHeu+99zzOELRr187qw0UXXaSwsDAFBQWd/Y4DAKCJINeT63Ee8u6UAwB8QdVJgIz5aRbgHj16mODgYBMeHm6uueYa89xzz5nKykrTt29fM3DgQFNZWWnFP/DAA+ZnP/uZOXTokDHGmLfeestccsklxt/f37Rt2/aU25ZU42vNmjXGGGOWL19urrzyShMYGGhatmxprrvuOvP6668bY/47CdAnn3xira+4uNjj88b8NJPwhRdeaIKDg82NN95oHn30UeNyuazlx44dM7/+9a9NixYtrJmLT/St6gRFTqfTWg4AQFNBrifXAw5jzuKGGACwgTFjxujLL7/UP//5T293BQAANAByPVAdl/0DsL0nnnhC/fv3V2hoqN577z298MILeuaZZ7zdLQAAUE/I9cCZceYfgO0NGzZMH374oQ4dOqQOHTpowoQJuvvuu73dLQAAUE/I9cCZUfwDAAAAAGBzzbzdAQAAAAAA0LAo/gEAAAAAsDmKfwAAAAAAbI7iHwAAAAAAm6P4BwAAAADA5ij+AQAAAACwOYp/AAAAAABsjuIfAAAAAACb+/+hWYMYd5GWDAAAAABJRU5ErkJggg==",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure(figsize=(12, 6))\n",
"# Subplot 1: Original text length distribution\n",
"plt.subplot(1, 2, 1)\n",
"original_lengths = train_data['Description'].apply(len)\n",
"plt.hist(original_lengths, bins=range(0, max(original_lengths) + 100, 100), color = 'blue')\n",
"plt.title('Original Text Length')\n",
"plt.xlabel('Text Length')\n",
"plt.ylabel('Frequency')\n",
"\n",
"# Subplot 2: Cleaned text length distribution\n",
"plt.subplot(1, 2, 2)\n",
"cleaned_lengths = train_data['Corpus_cleaning'].apply(len)\n",
"plt.hist(cleaned_lengths, bins=range(0, max(cleaned_lengths) + 100, 100), color = 'green')\n",
"plt.title('Cleaned Text Length')\n",
"plt.xlabel('Text Length')\n",
"plt.ylabel('Frequency')"
]
},
{
"cell_type": "markdown",
"id": "33215181-2ed5-4767-b845-97a971e2e5c5",
"metadata": {},
"source": [
"### TF-IDF Text vectorization"
]
},
{
"cell_type": "code",
"execution_count": 20,
"id": "5d96cba1-b9ca-4f3c-b147-15c8194b9eb0",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"CPU times: total: 6.72 s\n",
"Wall time: 6.72 s\n"
]
}
],
"source": [
"%%time\n",
"tfidf = TfidfVectorizer()\n",
"X_train = tfidf.fit_transform(train_data['Corpus_cleaning'])\n",
"X_test = tfidf.transform(test_data['Corpus_cleaning'])"
]
},
{
"cell_type": "code",
"execution_count": 21,
"id": "f0da9268-e1ab-4f1c-991c-863a57d1962a",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<54214x124210 sparse matrix of type ''\n",
"\twith 2640592 stored elements in Compressed Sparse Row format>"
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"X_train"
]
},
{
"cell_type": "code",
"execution_count": 22,
"id": "bcc453e4-491d-443e-a40b-386b896028f2",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<54200x124210 sparse matrix of type ''\n",
"\twith 2578617 stored elements in Compressed Sparse Row format>"
]
},
"execution_count": 22,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"X_test"
]
},
{
"cell_type": "code",
"execution_count": 23,
"id": "d886c9c9-7dd9-4f52-8de5-3cf3d8ae31e9",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"1 listening conversation doctor parents year old...\n",
"2 brother sister past incestuous relationship cu...\n",
"3 bus empties students field trip museum natural...\n",
"4 help unemployed father make ends meet edith tw...\n",
"5 films title refers recovered bodies ground zer...\n",
" ... \n",
"54210 short lived nbc live sitcom centered bonino wo...\n",
"54211 next generation exploitation sisters kapa bay ...\n",
"54212 bestaan echt stand comedy growing facing fears...\n",
"54213 walter vivian live country difficult time keep...\n",
"54214 labor day weekend intense hurricane ever make ...\n",
"Name: Corpus_cleaning, Length: 54214, dtype: object"
]
},
"execution_count": 23,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"train_data['Corpus_cleaning']"
]
},
{
"cell_type": "code",
"execution_count": 24,
"id": "be778260-f5a9-4f04-9c22-46a68dc68b03",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(54214, 124210)"
]
},
"execution_count": 24,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"X_train.shape"
]
},
{
"cell_type": "code",
"execution_count": 25,
"id": "f72a5939-82e7-4b35-9cef-5fb30652f42f",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(54200, 124210)"
]
},
"execution_count": 25,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"X_test.shape"
]
},
{
"cell_type": "code",
"execution_count": 26,
"id": "c9aeaea2-54c0-4ad0-a824-2ebf5975bf95",
"metadata": {},
"outputs": [],
"source": [
"X = X_train\n",
"y = train_data['Genre']\n",
"X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.2, random_state = 42)"
]
},
{
"cell_type": "code",
"execution_count": 27,
"id": "3a25d932-d449-4973-9b59-db4aadd6b3df",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(43371, 124210)"
]
},
"execution_count": 27,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"X_train.shape"
]
},
{
"cell_type": "code",
"execution_count": 28,
"id": "010f5b3f-1c20-4e69-9e18-beba617e2d2a",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(43371,)"
]
},
"execution_count": 28,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"y_train.shape"
]
},
{
"cell_type": "code",
"execution_count": 29,
"id": "b24b22f0-2f29-4c00-9c4d-937fe6a68678",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(10843, 124210)"
]
},
"execution_count": 29,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"X_test.shape"
]
},
{
"cell_type": "code",
"execution_count": 30,
"id": "263637ee-e8a2-47ea-954c-1339bc77df66",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(10843,)"
]
},
"execution_count": 30,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"y_test.shape"
]
},
{
"cell_type": "markdown",
"id": "ec70ee6f-289a-4f81-9cca-92cdcfdaa974",
"metadata": {},
"source": [
"### Multinomial Naive Bayes"
]
},
{
"cell_type": "code",
"execution_count": 31,
"id": "c6b1ebe4-478f-4969-8add-6b69c716785a",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"CPU times: total: 578 ms\n",
"Wall time: 598 ms\n"
]
},
{
"data": {
"text/html": [
"MultinomialNB() In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org. "
],
"text/plain": [
"MultinomialNB()"
]
},
"execution_count": 31,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"%%time\n",
"import warnings\n",
"warnings.filterwarnings(\"ignore\")\n",
"\n",
"model_nb = MultinomialNB()\n",
"model_nb.fit(X_train, y_train)"
]
},
{
"cell_type": "code",
"execution_count": 32,
"id": "e350fd44-174d-4051-900c-65fb360efaed",
"metadata": {},
"outputs": [],
"source": [
"y_nb_pred = model_nb.predict(X_test)"
]
},
{
"cell_type": "code",
"execution_count": 33,
"id": "8d679600-19f7-4668-ba42-9ec8e85af419",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(10843,)"
]
},
"execution_count": 33,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"y_nb_pred.shape"
]
},
{
"cell_type": "code",
"execution_count": 34,
"id": "0b6fd82b-ec90-41c6-a7d9-05fd1884d5ea",
"metadata": {},
"outputs": [],
"source": [
"from sklearn.metrics import accuracy_score, classification_report"
]
},
{
"cell_type": "code",
"execution_count": 35,
"id": "7a589db0-1f3f-4c87-84f7-c00cc6290661",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.44526422576777647"
]
},
"execution_count": 35,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"accuracy_score(y_nb_pred, y_test)"
]
},
{
"cell_type": "code",
"execution_count": 36,
"id": "f1cc2b45-d92b-4bf7-b2b7-b5346f313484",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" precision recall f1-score support\n",
"\n",
" action 0.00 0.00 0.00 0\n",
" adult 0.00 0.00 0.00 0\n",
" adventure 0.00 0.00 0.00 0\n",
" animation 0.00 0.00 0.00 0\n",
" biography 0.00 0.00 0.00 0\n",
" comedy 0.04 0.61 0.07 93\n",
" crime 0.00 0.00 0.00 0\n",
" documentary 0.90 0.54 0.67 4462\n",
" drama 0.88 0.38 0.53 6284\n",
" family 0.00 0.00 0.00 0\n",
" fantasy 0.00 0.00 0.00 0\n",
" game-show 0.00 0.00 0.00 0\n",
" history 0.00 0.00 0.00 0\n",
" horror 0.00 0.00 0.00 0\n",
" music 0.00 0.00 0.00 0\n",
" musical 0.00 0.00 0.00 0\n",
" mystery 0.00 0.00 0.00 0\n",
" news 0.00 0.00 0.00 0\n",
" reality-tv 0.00 0.00 0.00 0\n",
" romance 0.00 0.00 0.00 0\n",
" sci-fi 0.00 0.00 0.00 0\n",
" short 0.00 0.50 0.00 4\n",
" sport 0.00 0.00 0.00 0\n",
" talk-show 0.00 0.00 0.00 0\n",
" thriller 0.00 0.00 0.00 0\n",
" war 0.00 0.00 0.00 0\n",
" western 0.00 0.00 0.00 0\n",
"\n",
" accuracy 0.45 10843\n",
" macro avg 0.07 0.08 0.05 10843\n",
" weighted avg 0.88 0.45 0.58 10843\n",
"\n"
]
}
],
"source": [
"print(classification_report(y_nb_pred, y_test))"
]
},
{
"cell_type": "markdown",
"id": "4ab23d24-49a3-4c86-90b1-caeb3e9760b2",
"metadata": {},
"source": [
"### Logistic Regression"
]
},
{
"cell_type": "code",
"execution_count": 37,
"id": "9d305093-61c4-44cb-bd00-422ec38c1951",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"CPU times: total: 4min 10s\n",
"Wall time: 1min 30s\n"
]
},
{
"data": {
"text/html": [
"LogisticRegression() In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org. "
],
"text/plain": [
"LogisticRegression()"
]
},
"execution_count": 37,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"%%time\n",
"model_lr = LogisticRegression()\n",
"model_lr.fit(X_train, y_train)"
]
},
{
"cell_type": "code",
"execution_count": 38,
"id": "c3643a91-1c49-4089-a2a5-6b8eb64cb644",
"metadata": {},
"outputs": [],
"source": [
"y_lr_pred = model_lr.predict(X_test)"
]
},
{
"cell_type": "code",
"execution_count": 39,
"id": "7e5e5766-1724-44c2-9c90-48e5dd161b93",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([' comedy ', ' drama ', ' documentary ', ..., ' drama ', ' short ',\n",
" ' horror '], dtype=object)"
]
},
"execution_count": 39,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"y_lr_pred"
]
},
{
"cell_type": "code",
"execution_count": 40,
"id": "cf0d4a6f-e88d-42db-b62f-987ce19c1d0e",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.5808355621138062"
]
},
"execution_count": 40,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"accuracy_score(y_lr_pred, y_test)"
]
},
{
"cell_type": "code",
"execution_count": 41,
"id": "46fa7225-49df-4782-8da1-41a3867c7254",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" precision recall f1-score support\n",
"\n",
" action 0.22 0.56 0.32 103\n",
" adult 0.21 0.82 0.33 28\n",
" adventure 0.11 0.50 0.18 30\n",
" animation 0.02 0.67 0.04 3\n",
" biography 0.00 0.00 0.00 0\n",
" comedy 0.59 0.53 0.56 1602\n",
" crime 0.01 0.50 0.02 2\n",
" documentary 0.86 0.65 0.74 3520\n",
" drama 0.81 0.53 0.64 4108\n",
" family 0.05 0.50 0.09 14\n",
" fantasy 0.00 0.00 0.00 0\n",
" game-show 0.35 0.93 0.51 15\n",
" history 0.00 0.00 0.00 0\n",
" horror 0.55 0.68 0.61 348\n",
" music 0.38 0.69 0.49 78\n",
" musical 0.00 0.00 0.00 0\n",
" mystery 0.00 0.00 0.00 0\n",
" news 0.00 0.00 0.00 0\n",
" reality-tv 0.13 0.45 0.20 56\n",
" romance 0.00 0.00 0.00 4\n",
" sci-fi 0.15 0.51 0.24 43\n",
" short 0.31 0.51 0.39 636\n",
" sport 0.17 0.70 0.28 23\n",
" talk-show 0.10 0.57 0.17 14\n",
" thriller 0.12 0.49 0.20 78\n",
" war 0.00 0.00 0.00 0\n",
" western 0.67 0.96 0.79 138\n",
"\n",
" accuracy 0.58 10843\n",
" macro avg 0.21 0.44 0.25 10843\n",
" weighted avg 0.73 0.58 0.63 10843\n",
"\n"
]
}
],
"source": [
"print(classification_report(y_lr_pred, y_test))"
]
},
{
"cell_type": "markdown",
"id": "2cb55f36-66f0-4d3e-9c11-f17b0206de00",
"metadata": {},
"source": [
"### Support Vector CLasssifier"
]
},
{
"cell_type": "code",
"execution_count": 42,
"id": "94690f84-cd13-487c-8db6-251a6582b6e0",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"CPU times: total: 1h 3min 31s\n",
"Wall time: 1h 3min 39s\n"
]
},
{
"data": {
"text/html": [
"SVC() In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org. "
],
"text/plain": [
"SVC()"
]
},
"execution_count": 42,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"%%time\n",
"model_svc = SVC()\n",
"model_svc.fit(X_train, y_train)"
]
},
{
"cell_type": "code",
"execution_count": 43,
"id": "7be9abb3-ce85-4ad2-924a-6c235092697e",
"metadata": {},
"outputs": [],
"source": [
"y_svc_pred = model_svc.predict(X_test)"
]
},
{
"cell_type": "code",
"execution_count": 44,
"id": "97fb4e91-84af-4536-a3c7-38d1d1927f4a",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([' drama ', ' drama ', ' comedy ', ..., ' drama ', ' drama ',\n",
" ' horror '], dtype=object)"
]
},
"execution_count": 44,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"y_svc_pred"
]
},
{
"cell_type": "code",
"execution_count": 45,
"id": "68dc7a96-3ac2-4f7d-9c09-5e6623c82e0e",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.5691229364567002"
]
},
"execution_count": 45,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"accuracy_score(y_svc_pred, y_test)"
]
},
{
"cell_type": "code",
"execution_count": 46,
"id": "5375e543-f5a0-40b6-a0d1-28f1d35d2465",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" precision recall f1-score support\n",
"\n",
" action 0.13 0.64 0.22 55\n",
" adult 0.14 0.84 0.24 19\n",
" adventure 0.09 0.52 0.15 23\n",
" animation 0.01 1.00 0.02 1\n",
" biography 0.00 0.00 0.00 0\n",
" comedy 0.54 0.53 0.54 1472\n",
" crime 0.00 0.00 0.00 0\n",
" documentary 0.88 0.64 0.74 3692\n",
" drama 0.84 0.50 0.62 4578\n",
" family 0.05 0.73 0.10 11\n",
" fantasy 0.00 0.00 0.00 0\n",
" game-show 0.33 1.00 0.49 13\n",
" history 0.00 0.00 0.00 0\n",
" horror 0.52 0.72 0.60 310\n",
" music 0.25 0.77 0.38 47\n",
" musical 0.00 0.00 0.00 0\n",
" mystery 0.00 0.00 0.00 0\n",
" news 0.00 0.00 0.00 0\n",
" reality-tv 0.06 0.67 0.11 18\n",
" romance 0.00 0.00 0.00 0\n",
" sci-fi 0.11 0.67 0.19 24\n",
" short 0.22 0.60 0.33 389\n",
" sport 0.10 0.90 0.17 10\n",
" talk-show 0.04 0.75 0.07 4\n",
" thriller 0.06 0.50 0.11 40\n",
" war 0.05 1.00 0.10 1\n",
" western 0.66 0.96 0.78 136\n",
"\n",
" accuracy 0.57 10843\n",
" macro avg 0.19 0.52 0.22 10843\n",
" weighted avg 0.76 0.57 0.63 10843\n",
"\n"
]
}
],
"source": [
"print(classification_report(y_svc_pred, y_test))"
]
},
{
"cell_type": "markdown",
"id": "7ea51cf3-3f60-4f56-96bb-e3797be69f02",
"metadata": {},
"source": [
"### Comparision"
]
},
{
"cell_type": "code",
"execution_count": 47,
"id": "9ad5762e-9aee-4481-a8e4-048d5c5a0ccc",
"metadata": {},
"outputs": [],
"source": [
"acs_nb = accuracy_score(y_nb_pred, y_test)\n",
"acs_lr = accuracy_score(y_lr_pred, y_test)\n",
"acs_svc = accuracy_score(y_svc_pred, y_test)"
]
},
{
"cell_type": "code",
"execution_count": 48,
"id": "5f135980-6735-422f-aafd-8addca53b499",
"metadata": {},
"outputs": [],
"source": [
"total = acs_nb + acs_lr + acs_svc\n",
"# total = acs_nb + acs_lr\n",
"pie_part_1 = acs_nb/total\n",
"pie_part_2 = acs_lr/total\n",
"pie_part_3 = acs_svc/total"
]
},
{
"cell_type": "code",
"execution_count": 49,
"id": "e604753c-47af-4288-895b-445ac0f04f94",
"metadata": {},
"outputs": [],
"source": [
"labels = ['Multinomial Naive Bayes', 'Logistic Regression', 'Support Vector Classifier']\n",
"sizes = [pie_part_1, pie_part_2, pie_part_3]\n",
"# labels = ['Multinomial Naive Bayes', 'Logistic Regression']\n",
"# sizes = [pie_part_1, pie_part_2]"
]
},
{
"cell_type": "code",
"execution_count": 50,
"id": "2ad8e7eb-7c03-4bd0-aa19-92376414db7b",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 50,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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Ez8/P9auXUuPHj1o1aoVNWrUYO7cubb3avbs2Tz00EN4eXmRnJzM1KlTWbNmDS1btrRd8/r165k5cybt2rUjOjqahg0b0qRJEyD7/RcRKarUUyhFUqlSpejevTtz5sxh9uzZdO/e/Y730NSrVy/H52XLlrUNpe7fv5+goCBbQQhQq1YtfH192b9/v21bcHAw3t7ets/LlClDrVq1cHBwyLHtWkO6P/74I23atCEwMBAvLy/Gjh1LdHT0LV1T165dadOmDWPHjs11/44dOwgLC6NSpUp4e3vbhtfzOl/37t1xcnJi6dKlACxcuBBvb29bsbdt2zYOHTqEt7c3Xl5eeHl54e/vT1paGocPH75m1gULFrBz50527drFggUL+OmnnxgzZoxtf2xsLE8++STVq1fHx8cHHx8fkpKScmQdMmSIrcc5NjaWZcuW2Qrfffv2kZaWRpcuXWzZvLy8+Prrr23ZnnrqKebPn0+DBg0YPXo0GzduvN5bLCJSaKmnUIqswYMH88wzzwDw2Wef5XqMg4PDVTNS82vxYGdn5xyfm0wmLBYLkD18nNu6dP/enlsb12r33/7880/69u3LhAkT6Nq1Kz4+PsyfP58PPvjglq4JYPLkybRs2ZJRo0bl2J6cnMzdd9/N3XffzTfffEPp0qWJjo6ma9eueQ71uri48OCDDzJv3jz69u3LvHnzePjhh3Fyyv7WY7FYaNy48VVDzPBPr21egoKCqFq1KgChoaEcOXKEsWPH8sYbb+Dm5sagQYM4d+4cH374IZUqVcLV1ZWWLVvmyDpgwADGjBnDpk2b2LRpE8HBwdx11122bADLli2jfPnyOc7t6uoKwL333svx48dZtmwZq1atolOnTjz99NNMmTLlmtlFRAojFYVSZF1531nXrl1zPaZ06dI57hlLTEzk6NGjebbp4uICZD8K8HbUqlWL6OhoTpw4Yest3LdvHwkJCYSGht5W21fasGEDlSpV4rXXXrNtO378+G212axZM3r37p2j1w3g77//5vz580yePNl2TVu3br1ue/369ePuu+9m7969/P7777z55pu2fY0aNWLBggUEBARQokSJ28rt6OiI2WwmIyMDNzc3/vjjDz7//HO6desGwIkTJzh//nyO15QsWZJevXoxe/ZsNm3axGOPPWbbV6tWLVxdXYmOjqZdu3Z5nrd06dIMGjSIQYMGcddddzFq1CgVhSJSJKkolCLL0dHRNhSb17NkO3bsSHh4OPfddx9+fn6MHTv2ms+dDQgIsM2YrVChAm5ubre0HE3nzp2pV68e/fr148MPP8RsNjN8+HDatWtnu/8sP1StWpXo6Gjmz59P06ZNWbZsGYsXL77tdidNmkTt2rVtPXoAFStWxMXFhU8++YQnn3ySPXv25Cjw8tKuXTvKlClDv379CA4OznFvZL9+/Xj//fcJCwtj4sSJVKhQgejoaBYtWsSoUaOoUKFCnu1euHCBM2fOYDabiYyM5KOPPqJDhw624rJq1arMnTuXJk2akJiYyKhRo2xLGF1pyJAh9OjRg6ysLAYOHGjb7u3tzUsvvcTIkSOxWCy0adOGxMRENm7ciJeXFwMHDmTcuHE0btzYtjTOL7/8kq9Fv4jInaR7CqVIK1GixDV7mF555RXatm1Ljx496NatG7169cp1AsVlTk5OfPzxx8ycOZNy5coRFhZ2S7kuLxvj5+dH27Zt6dy5MyEhISxYsOCW2stLWFgYI0eO5JlnnqFBgwZs3Lgxz/sBb0b16tUZPHgwaWlptm2lS5cmPDycH374gVq1ajF58uQb6hEzmUz85z//YdeuXfTr1y/HPg8PD9atW0fFihXp3bs3oaGhDB48mNTU1Ov2HHbu3JmyZcsSHBzMsGHD6NatW473d9asWcTFxdGwYUP69+/PiBEjCAgIyLOdrl27Uq5cuRz73nzzTcaNG8c777xDaGgoXbt25eeff7YtXeTi4sIrr7xCvXr1aNu2LY6OjsyfP/+674mISGFksuoRAMVOWloaR48epXLlyri5ueXYVxQWrxbJTykpKZQrV45Zs2bRu3fvAjvPtf7diYgUBho+lhxUpElxYbFYOHPmDB988AE+Pj707NnT6EgiIoZSUSgixVJ0dDSVK1emQoUKhIeH57h/UkSkONJ3QREploKDg69arkhEpDjTRBMRERERUVEoIiIiIioKRURERAQVhSIiIiKCikIRERERQUWhiIiIiKCiUOQqwcHBfPjhh7f8+vDwcHx9ffMtjz1p3749zz//vNExREQkFyoKpUgZNGgQvXr1KtBzbNmyhWHDht3QsbkVkA8//DAHDhy45fOHh4djMplsH2XKlOG+++5j7969t9xmYbFo0SLefPNNo2OIiEgutHi15PSGzx0+X8KdPd8NKF269G293t3dHXd399tqo0SJEkRFRWG1Wjl16hSjR4+me/fuHDhwABcXl9tq+1oyMzNxdnYusPb9/f0LrG0REbk96ikUu7J27VqaNWuGq6srZcuWZcyYMZjNZtv+S5cu0a9fPzw9PSlbtizTpk27akjz371/b7zxBhUrVsTV1ZVy5coxYsQIIHso9Pjx44wcOdLWqwe5Dx8vXbqUJk2a4ObmRqlSpejdu/c1r8NkMhEYGEjZsmVp0qQJI0eO5Pjx40RFRdmO2bhxI23btsXd3Z2goCBGjBhBcnKybX9MTAzdu3fH3d2dypUrM2/evKuuzWQyMWPGDMLCwvD09OStt94C4Oeff6Zx48a4ubkREhLChAkTcryPeb0nAJ9//jnVqlXDzc2NMmXK8OCDD9r2/fu9jouLY8CAAfj5+eHh4cG9997LwYMHbfsvv5e//fYboaGheHl5cc899xATE3PN909ERG6eikKxG6dOnaJbt240bdqUXbt2MX36dP773//aCh2AF154gQ0bNrB06VJWrlzJH3/8wfbt2/Ns88cff2TatGnMnDmTgwcPsmTJEurWrQtkD4VWqFCBiRMnEhMTk2ehsmzZMnr37k337t3ZsWMHq1evpkmTJjd8XfHx8cybNw/A1osXGRlJ165d6d27N7t372bBggWsX7+eZ555xva6AQMGcPr0aSIiIli4cCFffPEFsbGxV7U/fvx4wsLCiIyMZPDgwfz22288+uijjBgxgn379jFz5kzCw8OZNGnSdd+TrVu3MmLECCZOnEhUVBQrVqygbdu2eV7boEGD2Lp1K0uXLmXTpk1YrVa6detGZmam7ZiUlBSmTJnC3LlzWbduHdHR0bz00ks3/P6JiMiN0fCx2I3PP/+coKAgPv30U0wmEzVr1uT06dO8/PLLjBs3juTkZObMmcO8efPo1KkTALNnz6ZcuXJ5thkdHU1gYCCdO3fG2dmZihUr0qxZMyB7KNTR0RFvb28CAwPzbGPSpEn07duXCRMm2LbVr1//mteSkJCAl5cXVquVlJQUAHr27EnNmjUBeP/993nkkUdsvW7VqlXj448/pl27dkyfPp1jx46xatUqtmzZYitAv/rqK6pVq3bVuR555BEGDx5s+7x///6MGTOGgQMHAhASEsKbb77J6NGjGT9+/DXfk+joaDw9PenRowfe3t5UqlSJhg0b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7uIJbr7g4GD0VYqIGEJFoYiIiIigX4lFREREREWhiIiIiKgolEImODiYDz/88JZfHx4ejq+vb77lsSft27fn+eefNzqGiIgUUrqnUG7YoEGDiI+PZ8mSJQV2jnPnzuHp6YmHh8d1jw0ODub555/PUeikpqZy6dIlAgICbun84eHhPPbYY7bPAwICaNasGZMnT6Z27dq31GZhcfHiRZydnfH29jY6ioiIFELqKZRCpXTp0jdUEObF3d39lgvCy0qUKEFMTAynT59m2bJlJCcn0717dzIyMm6r3evJzMws0Pb9/f1VEIqISJ5UFEq+Wbt2Lc2aNcPV1ZWyZcsyZswYzGazbf+lS5fo168fnp6elC1blmnTpl01pPnv4eM33niDihUr4urqSrly5RgxYgSQPRR6/PhxRo4ciclkwmQyAbkPHy9dupQmTZrg5uZGqVKl6N279zWvw2QyERgYSNmyZWnSpAkjR47k+PHjREVF2Y7ZuHEjbdu2xd3dnaCgIEaMGEFycrJtf0xMDN27d8fd3Z3KlSszb968q67NZDIxY8YMwsLC8PT05K233gLg559/pnHjxri5uRESEsKECRNyvI95vScAn3/+OdWqVcPNzY0yZcrw4IMP2vb9+72Oi4tjwIAB+Pn54eHhwb333svBgwdt+y+/l7/99huhoaF4eXlxzz33EBOjZxyLiNgjFYWSL06dOkW3bt1o2rQpu3btYvr06fz3v/+1FToAL7zwAhs2bGDp0qWsXLmSP/74g+3bt+fZ5o8//si0adOYOXMmBw8eZMmSJdStWxeARYsWUaFCBSZOnEhMTEyehcqyZcvo3bs33bt3Z8eOHaxevZomTZrc8HXFx8czb948AJydsx9XFhkZSdeuXenduze7d+9mwYIFrF+/nmeeecb2ugEDBnD69GkiIiJYuHAhX3zxBbGxsVe1P378eMLCwoiMjGTw4MH89ttvPProo4wYMYJ9+/Yxc+ZMwsPDmTRp0nXfk61btzJixAgmTpxIVFQUK1asoG3btnle26BBg9i6dStLly5l06ZNWK1WunXrlqPHMiUlhSlTpjB37lzWrVtHdHQ0L7300g2/fyIiUoRYRW7QwIEDrWFhYbnue/XVV601atSwWiwW27bPPvvM6uXlZc3KyrImJiZanZ2drT/88INtf3x8vNXDw8P63HPP2bZVqlTJOm3aNKvVarV+8MEH1urVq1szMjJyPeeVx142e/Zsq4+Pj+3zli1bWvv163fD1zh79mwrYPX09LR6eHhYAStg7dmzp+2Y/v37W4cNG5bjdX/88YfVwcHBmpqaat2/f78VsG7ZssW2/+DBg1YgR17A+vzzz+do56677rK+/fbbObbNnTvXWrZsWavVeu33ZOHChdYSJUpYExMTc722du3a2d7rAwcOWAHrhg0bbPvPnz9vdXd3t37//fc53otDhw7Zjvnss8+sZcqUybV9EREp2tRTKPli//79tGzZ0jaMC9C6dWuSkpI4efIkR44cITMzk2bNmtn2+/j4UKNGjTzbfOihh0hNTSUkJIShQ4eyePHiHMOoN2Lnzp106tTppl7j7e3Nzp072bZtGzNmzKBKlSrMmDHDtn/btm2Eh4fj5eVl++jatSsWi4WjR48SFRWFk5MTjRo1sr2matWq+Pn5XXWuf/dabtu2jYkTJ+Zoe+jQocTExJCSknLN96RLly5UqlSJkJAQ+vfvz7fffktKSkqu17h//36cnJxo3ry5bVvJkiWpUaMG+/fvt23z8PCgSpUqts/Lli2ba4+niIgUfSoKJV9YrdYcBeHlbZB979yVf8/tmNwEBQURFRXFZ599hru7O8OHD6dt27Y3NSHD3d39ho+9zMHBgapVq1KzZk2eeOIJ+vfvz8MPP2zbb7FYeOKJJ9i5c6ftY9euXRw8eJAqVarkeU25bff09MzxucViYcKECTnajoyM5ODBg7i5uV3zPfH29mb79u189913lC1blnHjxlG/fn3i4+NvKMvl7Vd+jS4PmV925ddSRETsi4pCyRe1atVi48aNOQqGjRs34u3tTfny5alSpQrOzs5s3rzZtj8xMTHHxIbcuLu707NnTz7++GMiIiLYtGkTkZGRALi4uJCVlXXN19erV4/Vq1ffxpXByJEj2bVrF4sXLwagUaNG7N27l6pVq1714eLiQs2aNTGbzezYscPWxqFDh3Itzv6tUaNGREVF5dq2w/+eyXut98TJyYnOnTvz3nvvsXv3bo4dO8aaNWuuOk+tWrUwm8389ddftm0XLlzgwIEDhIaG3s7bJSIiRZST0QGkaElISGDnzp05tvn7+zN8+HA+/PBDnn32WZ555hmioqIYP348L7zwAg4ODnh7ezNw4EBGjRqFv78/AQEBjB8/HgcHh6t6Dy8LDw8nKyuL5s2b4+Hhwdy5c3F3d6dSpUpA9kzldevW0bdvX1xdXSlVqtRVbYwfP55OnTpRpUoV+vbti9ls5tdff2X06NE3fM0lSpRgyJAhjB8/nl69evHyyy/TokULnn76aYYOHYqnpyf79+9n5cqVfPLJJ9SsWZPOnTszbNgwpk+fjrOzMy+++CLu7u55Xutl48aNo0ePHgQFBfHQQw/h4ODA7t27iYyM5K233rrme/LLL79w5MgR2rZti5+fH8uXL8diseQ6RF+tWjXCwsIYOnQoM2fOxNvbmzFjxlC+fHnCwsJu+L0RERH7oZ5CuSkRERE0bNgwx8e4ceMoX748y5cvZ/PmzdSvX58nn3ySxx9/nNdff9322qlTp9KyZUt69OhB586dad26NaGhobi5ueV6Ll9fX7788ktat25t6/H7+eefKVmyJAATJ07k2LFjVKlShdKlS+faRvv27fnhhx9YunQpDRo0oGPHjjl6x27Uc889x/79+/nhhx+oV68ea9eu5eDBg9x11100bNiQsWPHUrZsWdvxX3/9NWXKlKFt27bcf//9DB06FG9v7zyv9bKuXbvyyy+/sHLlSpo2bUqLFi2YOnWqrRC+1nvi6+vLokWL6NixI6GhocyYMYPvvvsuz0W3Z8+eTePGjenRowctW7bEarWyfPnyq4aMRUSkeNATTcQwycnJlC9fng8++IDHH3/c6DgF6uTJkwQFBbFq1aqbnvgiIiJyJ2j4WO6YHTt28Pfff9OsWTMSEhKYOHEigF0OV65Zs4akpCTq1q1LTEwMo0ePJjg4+JrrBoqIiBhJRaHcUVOmTCEqKgoXFxcaN27MH3/8keu9gEVdZmYmr776KkeOHMHb25tWrVrx7bffamhWREQKLQ0fi4iIiIgmmoiIiIiIikIRERERQUWhiIiIiKCiUERERERQUSgiIiIiqCgUEREREVQUioiIiAgqCkVEREQEFYUiIiIigopCEREREUFFoYiIiIigolBEREREUFEoIiIiIqgoFBERERFUFIqIiIgIKgpFREREBBWFIiIiIoKKQhERERFBRaGIiIiIoKJQRERERFBRKCIiIiKoKBQRERERVBSKiIiICCoKRURERAQVhSIiIiKCikIRERERQUWhiIiIiKCiUERERERQUSgiIiIiqCgUEREREeD/AcmAQYOorl2/AAAAAElFTkSuQmCC",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure(figsize=(10,5))\n",
"plt.pie(sizes, labels=labels, autopct='%1.1f%%', startangle=90)\n",
"plt.legend(labels, loc=2)"
]
},
{
"cell_type": "markdown",
"id": "ba618643-69ea-472c-8170-80b7a4cba1fc",
"metadata": {},
"source": [
"### Adding the predicted values to a new dataframe with the target genre"
]
},
{
"cell_type": "code",
"execution_count": 51,
"id": "dd1ae82a-6fa7-48bf-b964-0e544d526fef",
"metadata": {},
"outputs": [],
"source": [
"test_data = test_data[:10843]\n",
"test_data['Predicted_Genre_nb'] = y_nb_pred"
]
},
{
"cell_type": "code",
"execution_count": 52,
"id": "6eb7e261-f71a-40e2-8719-5292e192ebb1",
"metadata": {},
"outputs": [],
"source": [
"test_data = test_data[:10843]\n",
"test_data['Predicted_Genre_lr'] = y_lr_pred"
]
},
{
"cell_type": "code",
"execution_count": 54,
"id": "98cb77d3-2cf7-47b4-8a07-3e2e6bdc77e2",
"metadata": {},
"outputs": [],
"source": [
"test_data = test_data[:10843]\n",
"test_data['Predicted_Genre_svm'] = y_svc_pred"
]
},
{
"cell_type": "code",
"execution_count": 59,
"id": "d77be342-435b-4b50-9138-8271b6eec944",
"metadata": {},
"outputs": [
{
"ename": "ValueError",
"evalue": "cannot insert Target_Genre, already exists",
"output_type": "error",
"traceback": [
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[1;31mValueError\u001b[0m Traceback (most recent call last)",
"\u001b[1;32m~\\AppData\\Local\\Temp\\ipykernel_12232\\3190150681.py\u001b[0m in \u001b[0;36m?\u001b[1;34m()\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[0mtest_data\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mto_csv\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'predicted_genres.csv'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mindex\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mFalse\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 2\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 3\u001b[0m \u001b[1;31m# Add actual genre column to predicted dataFrame\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 4\u001b[0m \u001b[0mextracted_col\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mtest_soln_data\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m\"Target_Genre\"\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 5\u001b[1;33m \u001b[0mtest_data\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0minsert\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;36m7\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m\"Target_Genre\"\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mextracted_col\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
"\u001b[1;32m~\\anaconda3\\Lib\\site-packages\\pandas\\core\\frame.py\u001b[0m in \u001b[0;36m?\u001b[1;34m(self, loc, column, value, allow_duplicates)\u001b[0m\n\u001b[0;32m 4927\u001b[0m \u001b[1;34m\"'self.flags.allows_duplicate_labels' is False.\"\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 4928\u001b[0m )\n\u001b[0;32m 4929\u001b[0m \u001b[1;32mif\u001b[0m \u001b[1;32mnot\u001b[0m \u001b[0mallow_duplicates\u001b[0m \u001b[1;32mand\u001b[0m \u001b[0mcolumn\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mcolumns\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 4930\u001b[0m \u001b[1;31m# Should this be a different kind of error??\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 4931\u001b[1;33m \u001b[1;32mraise\u001b[0m \u001b[0mValueError\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34mf\"cannot insert {column}, already exists\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 4932\u001b[0m \u001b[1;32mif\u001b[0m \u001b[1;32mnot\u001b[0m \u001b[0mis_integer\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mloc\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 4933\u001b[0m \u001b[1;32mraise\u001b[0m \u001b[0mTypeError\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"loc must be int\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 4934\u001b[0m \u001b[1;31m# convert non stdlib ints to satisfy typing checks\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;31mValueError\u001b[0m: cannot insert Target_Genre, already exists"
]
}
],
"source": [
"test_data.to_csv('predicted_genres.csv', index=False)\n",
"\n",
"# Add actual genre column to predicted dataFrame\n",
"extracted_col = test_soln_data[\"Target_Genre\"]\n",
"test_data.insert(7, \"Target_Genre\", extracted_col)"
]
},
{
"cell_type": "code",
"execution_count": 60,
"id": "51d3f471-b3c4-4aa0-86d6-01cdebf2c9d6",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" id \n",
" Title \n",
" Description \n",
" Corpus_cleaning \n",
" Predicted_Genre_nb \n",
" Target_Genre \n",
" Predicted_Genre_lr \n",
" Predicted_Genre_svm \n",
" \n",
" \n",
" \n",
" \n",
" 0 \n",
" 1 \n",
" Edgar's Lunch (1998) \n",
" L.R. Brane loves his life - his car, his apar... \n",
" brane loves life car apartment job especially ... \n",
" drama \n",
" NaN \n",
" comedy \n",
" drama \n",
" \n",
" \n",
" 1 \n",
" 2 \n",
" La guerra de papá (1977) \n",
" Spain, March 1964: Quico is a very naughty ch... \n",
" spain march quico naughty child three belongin... \n",
" drama \n",
" thriller \n",
" drama \n",
" drama \n",
" \n",
" \n",
" 2 \n",
" 3 \n",
" Off the Beaten Track (2010) \n",
" One year in the life of Albin and his family ... \n",
" one year life albin family shepherds north tra... \n",
" drama \n",
" comedy \n",
" documentary \n",
" comedy \n",
" \n",
" \n",
" 3 \n",
" 4 \n",
" Meu Amigo Hindu (2015) \n",
" His father has died, he hasn't spoken with hi... \n",
" father died hasnt spoken brother years serious... \n",
" documentary \n",
" documentary \n",
" horror \n",
" horror \n",
" \n",
" \n",
" 4 \n",
" 5 \n",
" Er nu zhai (1955) \n",
" Before he was known internationally as a mart... \n",
" known internationally martial arts superstar b... \n",
" documentary \n",
" drama \n",
" music \n",
" music \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
" id Title \\\n",
"0 1 Edgar's Lunch (1998) \n",
"1 2 La guerra de papá (1977) \n",
"2 3 Off the Beaten Track (2010) \n",
"3 4 Meu Amigo Hindu (2015) \n",
"4 5 Er nu zhai (1955) \n",
"\n",
" Description \\\n",
"0 L.R. Brane loves his life - his car, his apar... \n",
"1 Spain, March 1964: Quico is a very naughty ch... \n",
"2 One year in the life of Albin and his family ... \n",
"3 His father has died, he hasn't spoken with hi... \n",
"4 Before he was known internationally as a mart... \n",
"\n",
" Corpus_cleaning Predicted_Genre_nb \\\n",
"0 brane loves life car apartment job especially ... drama \n",
"1 spain march quico naughty child three belongin... drama \n",
"2 one year life albin family shepherds north tra... drama \n",
"3 father died hasnt spoken brother years serious... documentary \n",
"4 known internationally martial arts superstar b... documentary \n",
"\n",
" Target_Genre Predicted_Genre_lr Predicted_Genre_svm \n",
"0 NaN comedy drama \n",
"1 thriller drama drama \n",
"2 comedy documentary comedy \n",
"3 documentary horror horror \n",
"4 drama music music "
]
},
"execution_count": 60,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"test_data.head()"
]
},
{
"cell_type": "code",
"execution_count": 62,
"id": "1ed4dbd1-94ba-4afe-9eeb-f6b8e8face3c",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Number of samples Correctly predicted by Multinomial Naive Bayes Classifier: 2718\n",
"Number of samples Correctly predicted by Logistic Regression: 2143\n",
"Number of samples Correctly predicted by Support Vector Classifier: 2298\n"
]
}
],
"source": [
"correctly_predicted_values_nb = (test_data['Predicted_Genre_nb'] == test_data['Target_Genre']).sum()\n",
"correctly_predicted_values_lr = (test_data['Predicted_Genre_lr'] == test_data['Target_Genre']).sum()\n",
"correctly_predicted_values_svm = (test_data['Predicted_Genre_svm'] == test_data['Target_Genre']).sum()\n",
"\n",
"print(\"Number of samples Correctly predicted by Multinomial Naive Bayes Classifier:\", correctly_predicted_values_nb)\n",
"print(\"Number of samples Correctly predicted by Logistic Regression:\", correctly_predicted_values_lr)\n",
"print(\"Number of samples Correctly predicted by Support Vector Classifier:\", correctly_predicted_values_svm)"
]
},
{
"cell_type": "markdown",
"id": "3cac48dd-4e65-470e-aa02-6165630392a3",
"metadata": {},
"source": [
"### Creating the pkl file to predict the user input"
]
},
{
"cell_type": "code",
"execution_count": 63,
"id": "7b584fdb-faa9-4806-ac2e-d0b210a0428e",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Models pickled successfully.\n"
]
}
],
"source": [
"import pickle\n",
"with open('tfidf.pkl', 'wb') as file:\n",
" pickle.dump(tfidf, file)\n",
"with open('model_lr.pkl', 'wb') as file:\n",
" pickle.dump(model_lr, file)\n",
"\n",
"print(\"Models pickled successfully.\")"
]
},
{
"cell_type": "markdown",
"id": "9dfa5382-ddcf-4cad-9079-2635bf616fc0",
"metadata": {},
"source": [
"#### Sample text data"
]
},
{
"cell_type": "code",
"execution_count": 64,
"id": "2a7553ad-681b-4875-b9dd-7697a6da0f8d",
"metadata": {},
"outputs": [],
"source": [
"# title = \"Edgar's Lunch (1998)\"\n",
"# discription = \"L.R. Brane loves his life - his car, his apartment, his job, but especially his girlfriend, Vespa. One day while showering, Vespa runs out of shampoo. L.R. runs across the street to a convenience store to buy some more, a quick trip of no more than a few minutes. When he returns, Vespa is gone and every trace of her existence has been wiped out. L.R.'s life becomes a tortured existence as one strange event after another occurs to confirm in his mind that a conspiracy is working against his finding Vespa.\""
]
},
{
"cell_type": "code",
"execution_count": 65,
"id": "bb798fc2-640b-481a-9736-9b0b37e339c3",
"metadata": {},
"outputs": [
{
"name": "stdin",
"output_type": "stream",
"text": [
"Enter movie Title Edgar's Lunch (1998)\n",
"Enter movie Discription L.R. Brane loves his life - his car, his apartment, his job, but especially his girlfriend, Vespa. One day while showering, Vespa runs out of shampoo. L.R. runs across the street to a convenience store to buy some more, a quick trip of no more than a few minutes. When he returns, Vespa is gone and every trace of her existence has been wiped out. L.R.'s life becomes a tortured existence as one strange event after another occurs to confirm in his mind that a conspiracy is working against his finding Vespa.\n"
]
}
],
"source": [
"title = input(\"Enter movie Title\")\n",
"discription = input(\"Enter movie Discription\")"
]
},
{
"cell_type": "code",
"execution_count": 66,
"id": "2233b21f-64a9-41b4-9489-8caf80fcaa5c",
"metadata": {},
"outputs": [],
"source": [
"new_data = [title, discription]"
]
},
{
"cell_type": "code",
"execution_count": 67,
"id": "78e0df09-37ec-4fbe-b727-70462424a8bf",
"metadata": {},
"outputs": [],
"source": [
"new_data_transformed = tfidf.transform(new_data)"
]
},
{
"cell_type": "code",
"execution_count": 68,
"id": "4b510fb2-f55e-46f8-a88a-a2eabf7618ac",
"metadata": {},
"outputs": [],
"source": [
"predictions = model_nb.predict(new_data_transformed)"
]
},
{
"cell_type": "code",
"execution_count": 69,
"id": "dcc2b1a6-e64a-47e1-8761-dbb05d45494d",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Text: Predicted Genre: drama \n",
"Text: Predicted Genre: drama \n"
]
}
],
"source": [
"for text, prediction in zip(new_data, predictions):\n",
" print(f\"Text: Predicted Genre: {prediction}\")"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "5216b314-2d71-4d3f-967a-65a79c5f7e85",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.11.5"
}
},
"nbformat": 4,
"nbformat_minor": 5
}